![]() |
The concept of a module may vary from platform to platform, but in most cases, it refers to a binary image which is loaded or mapped into memory comprising some portion of the target's executable code. Likely, these are the same files that Ghidra can import for static analysis. Similarly, the concept of a section may vary, but in most cases, it refers to a portion of a module, possibly backed by its binary image. This window displays information about modules, and sometimes their sections, known to the connected debugger. Information in this window reflects what has been recorded into the current trace, which in turn comes from a target. The top table displays module information, while the bottom table displays section information.
The top table, which lists modules, has the following columns:
The bottom table, which lists sections, has the following columns:
This window provides several actions, some of which are only accessible via pop-up menus.
This action is available from a module's or section's pop-up menu. It prompts the user to import the module from the local file system into Ghidra as a static image.
This action is available when the current trace is associated with a live target and "at the present," and at least one module is selected. It commands the recorder to copy all symbols (that the debugger knows about) for the selected modules into the trace. These are often the same symbols that Ghidra imports from the static image, anyway.
This action is available when the current trace is associated with a live target and "at the present," the target presents type information, and at least one module is selected. It commands the recorder to copy and convert all types (that the debugger knows about) for the selected modules to Ghidra data types in the trace. These are often the same types that Ghidra imports from the static image, anyway.
This action is available when both a trace and a program are opened. It maps the current trace to the current program using identical addresses. This action ignores the module list. It is a suitable mapping when the current program is loaded in the trace without relocation. It is also a fallback worth trying in the absence of a module list.
This action is available from the modules' or sections' pop-up menu. It searches the tool's open programs for the selected modules and proposes new mappings. The user can examine and tweak the proposal before confirming or canceling it. Typically, this is done automatically by the Map Modules debugger bot.
![]() |
This action is available from a single module's pop-up menu, when there is an open program. It behaves like Map Modules, except that it will propose the selected module be mapped to the current program.
This action is analogous to the Map Modules action. It searches the tool's open programs for blocks matching the selected sections and proposes new mappings. Users who prefer this to Map Modules should also consider using the Map Sections debugger bot.
![]() |
This action is available from the pop-up menu, when the current selection indicates a single module and there is an open program. It behaves like Map Sections, except that it will attempt to map sections from the indicated module to blocks in the current program.
This action is available from a single section's pop-up menu, when there is an open program. It behaves like Map Sections, except that it will propose the selected section be mapped to the block containing the cursor in the static listing.
This action is offered to resolve a "missing module" console message. It is equivalent to Import From File System on the missing module.
This action is offered to resolve a "missing module" console message. It is equivalent to Map Module To on the missing module.
This action is always available. By default the bottom table displays all sections in the current trace. When this toggle is enabled, and at least one module is selected, the bottom table will only include sections contained by a selected module.
This action is available when at least one module or section is selected. It selects all addresses in the dynamic listing contained by the selected modules or sections.
This action is available when the dynamic listing's cursor is at a valid location. It selects the module and section, if applicable, containing that cursor. If the dynamic listing has a selection, it selects all modules and sections intersecting that selection.