6.7   The Module Browser

To inspect the memory map of any currently loaded module, click on the line that lists the module in the loaded-module list (the bottom panel in the main browser window).

The browser opens a specialized object-module browser resembling Figure 6-16 for the selected module.

The object-module browser displays information in the following categories:

Module
Overall characteristics of the object module: its name, the loader flags used when the module was downloaded to the target, the object-module format (OMF), and the group number. (The group number is a sequence number recorded in the symbol table to identify all of the symbols belonging to a single module.)

Segments
For each segment (section) of the object module: the segment type (text, bss, or data), starting address, and size in bytes.

Symbols
The bulk of the object-module browser display is occupied by a listing of symbols and their addresses. Symbols are displayed in either alphabetical or numeric order, depending on what browser state is in effect when you request a module browser.

Each symbol's display occupies one line. The symbol display includes the symbol's address in hexadecimal, a letter representing the symbol type (Table 6-1), and the symbol name (in its internal representation--C++ symbols are displayed "mangled", and all compiled-language symbols begin with an underbar).

Table 6-1:  Key Letters in Symbol Displays


Symbol Key
 
Symbol Type
 

Global
 
Local
 

A
 
a
 
absolute
 
B
 
b
 
bss segment
 
C
   
common (uninitialized global symbol)
 
D
 
d
 
data segment
 
T
 
t
 
text segment
 
?
 
?
 
unrecognized symbol
 

For symbols that represent system object, clicking on the symbol name brings up the specialized object browser; see 6.6 Object Browsers.

Symbol displays are grouped by category. There is one category for the symbols in each section, plus a category headed Other_Symbols that contains uninitialized globals and unrecognized symbols.