Debug Inspector

From RAD Studio
Jump to: navigation, search

Go Up to Run Menu

The Debug Inspector

Debug > Inspect
(available from the context menu in the Code Editor when you select an expression or when you hover the mouse over an expression when nothing else is selected)

Inspects the following types of data: arrays, classes, constants, functions, pointers, scalar variables, and interfaces.

You can also open the Debug Inspector by using:

  • The Inspect button on the Evaluate/Modify dialog box
  • The Inspect context menu command on the either the Local Variables Window or the Watch List Window
  • Run > Inspect to open the Inspect window, which allows you to type the expression you want to inspect in the Debug Inspector
  • Alt+F5 The shortcut key for the Debug Inspector
Note: The Debug Inspector is only available when the process is stopped in the debugger.

The Debug Inspector contains four areas:

Area Description

Top pane

Displays the name, type, and address or memory location of the inspected element, if available. When inspecting a Delphi function call that returns an object, record, set, or array, the debugger displays "In debugger" in place of the temporarily allocated address. The C++ evaluator omits the address when inspecting function calls.

Middle pane

Displays one or more of the following tabs, depending on the type of data you inspect: Data, Methods, Properties.

Lower pane

Displays the tab sheet that corresponds to the tab selected in the middle pane:

  • Data -- Shows data names (or class data members) and current values.
  • Methods -- Displays the class methods (member functions) and current address locations of a class or interface; otherwise, not enabled.
  • Properties -- Displays the property names and current values of an object class that has properties; otherwise, this tab is not enabled. For Properties whose getters are functions, a question mark icon is displayed (Question Mark). To see the actual property value, click the Question Mark. For more information, see Displaying Property Values Derived from Functions in the Debug Inspector.

Status bar

Displays the data type of the currently selected member.



Context Menu

Right-click the Debug Inspector to display the following commands:

Item Description

Change

Lets you assign a new value to a data item. An ellipsis (...) appears next to an item that can be changed. You can click the ellipsis as an alternative to choosing the change command. This command is only enabled when you can modify the data item being inspected.

Range

(C++ only) Affects only array types and pointer types. Opens the Range dialog box, which does the following:

  • For an array, sets the starting array index and the number of array items to show.
  • For a pointer, causes the Inspector to treat the pointer as if it were pointing to an array, regardless of whether the pointer actually points to an array.

Show Inherited

Switches the view in the Data, Methods, and Properties panes between two modes: one that shows all intrinsic and inherited data members or properties of a class, or one that shows only those declared in the class.

Show Fully Qualified Names

Shows inherited members using their fully qualified names.

Sort By

(C++ only) Sorts the data elements displayed in the Debug Inspector by their name or by the order in which they were declared in the code.

Inspect

Opens a new Debug Inspector on the data element you have selected. This is useful for seeing the details of data structures, classes, and arrays.

Descend

Same as the Inspect command, except that the current Debug Inspector is replaced with the details that you are inspecting (a new Debug Inspector is not opened). To return to a higher level, use the history list.

Watch

Creates a new watch item for the data element you have selected, and opens the Watch List Window. This command is enabled for items that can be sub-inspected.

Evaluate/Modify

Opens the Evaluate/Modify dialog box displaying the data element you have selected.

Visualizers

Appears (along with ExternalVisualizer.png in the Value field) only when the selected data item has an associated external-viewer type debugger visualizer. To display the data in a more human-readable format and in an external window, right-click the data item and click the Visualizers submenu item, such as Show Strings for the TStringList visualizer.

New Expression

Lets you inspect a new expression.

Type Cast

Lets you specify a different data type for an item you want to inspect. Type casting is useful if the Debug Inspector contains a symbol for which there is no type information, and when you want to explicitly set the type for untyped pointers.

Dockable

Toggles whether the Debug Inspector window is dockable.

Stay On Top

Keeps the window visible when out of focus.

See Also