Modules Window

From RAD Studio
Jump to: navigation, search

Go Up to Debug Windows Index


View > Debug Windows > Modules

Shows processes that are currently under control of the debugger, and the modules currently loaded by each process. The application must be in debug mode; that is, you must run your application using one of the following commands:

  • F9 (Run)
  • F7 (Trace Into)
  • F8 (Step Over)

Modules Window Panes

The Modules window is divided into the following areas:

Area Description

Modules pane (upper left side)

Displays the processes and modules, in the order in which they are loaded. Each process can have one or more modules that it loads. When a process terminates or a module is unloaded, the module is removed from the list.

Execution point green arrow indicates the current process.

Blue dot indicates modules for which source is available.

To sort the display, click a column heading. The headings are:

  • Name (of the module)
  • Base Address (of the module, in memory)
  • Path (path to the module on the system)
  • Symbol File (the name of the debug symbols file, if one is available)
  • Order (the order in which the modules are loaded, beginning with 1)

Source pane (lower left side)

If debug information is available, displays the source files that were used to build the module currently selected in the Modules pane. The Source pane is empty for modules for which no source is available.

Scope Browser (right side, for managed code only)

Displays a hierarchical tree view of the namespaces, classes, and methods used in the application.

  • Namespace folder icon represents a namespace.
  • Namespace blue sphere icon represents a class.
  • Method green arrows icon represents a method.

Entry Point pane (right side, for unmanaged code only)

Displays the names and addresses of the entry points of the various functions of the module currently selected in the Modules pane. The entry point is only shown if the debugger can find the source for the module.

To sort the display, click a column heading.

The run-time image base address is the memory offset, in hexadecimal, where the module actually loads, and is distinct from the preferred image base address you might have specified in the Project > Options dialog box (for example, in C++ Linker Output).

Context Menus

Modules Pane Context Menu

Right-click the Modules pane to display the following commands for unmanaged code.

Item Description

Break On Load

Toggles a breakpoint to halt the execution of the application when it loads the selected module into memory. This setting is used by the Embarcadero Win32 Debugger, Embarcadero Win64 Debugger, and Embarcadero OS X Debugger. You can also click on the module icon to toggle a module load breakpoint.

Reload Symbol Table

Displays the Reload Symbol Table dialog box, allowing you to load the debug symbol table into the Modules window.

Add Module

Displays the Add Module dialog, allowing you to add a module to the list. Use this command to add a module load breakpoint on a module that is not currently loaded. This setting is used by the Embarcadero Win32 Debugger, Embarcadero Win64 Debugger, and Embarcadero OS X Debugger.

Source Pane Context Menu

Right-click the Source pane to display the following command.

Item Description

Edit Source

Opens the source file in the Code Editor and positions it to the selected module.

Note: If the current focus is on the Modules Window, you can navigate to the Code Editor by first clicking your project name in the upper tab of the main window and then clicking the Code tab on the lower edge of the main window.


Scope Browser Context Menu

Right-click the Scope Browser to display the following commands (the Scope Browser is only displayed in managed debugging).

Item Description

Browse Class

Displays the Reflection viewer, allowing you to inspect the currently selected class.

Edit Source

Available for methods only. Activates the Code Editor and positions the editor to the selected method.

Selecting a method that has not yet been 'Just In Time' compiled results in the message No native code is available.

Entry Point Context Menu

Right-click the Entry Point pane to display the following command.

Item Description

Go to Entry Point

Displays the selected entry point in the CPU window if there is no source for the entry point. If source can be found, it will be shown. Your program must be paused before you can jump to an entry point.

See Also