Loading Symbols and Source Code

Loading debug information:

Select File > Load/Unload Symbol File.

The Load/Unload Symbol File dialog box is opened.

Enter the program binary, and an optional offset parameter. Do not check the Download button for normal debugging!

Selecting the correct offset:

  • For fixed-offset modules (e.g., most Linux kernels and ELF format test code), leave the offset parameter blank. The debugger will use the load offset encoded into the program binary at compile time.
  • For dynamically located modules (e.g., Kernel Modules/Drivers, and EFI BIOS modules), specify the base address of the image in memory.

In some cases the source debugger provides special helper functions to accomplish this. See also Debugging Runtime Loaded Linux* OS Kernel Modules and Debugging UEFI BIOS.

Downloading executable code to the target:

The debugger has the ability to download a program binary to target memory via the JTAG connection. If the Download checkbox is selected during symbol load, the debugger will analyze the ELF or PE/COFF image and load the appropriate sections to target memory. The load address will be according to the link addresses specified in the file. If an offset is specified, the load address will be adjusted according to this value.

CAUTION

Do not select the Download option, when you are debugging code that is already loaded on the target and you simply want to display sources for that code.

For more information about downloading code, contact customer support.

Additional notes on loading symbols:

  • The initial symbol load may take a little while, especially in the case of large images such as the Linux kernel.
  • When the debugger first encounters a new program scope there may be a short delay while it loads additional symbolic debug information.
For more complete information about compiler optimizations, see our Optimization Notice.