Intel® System Debugger User Guide

ID 648476
Date 06/13/2024
Confidential
Document Table of Contents

Automatic Loading

The automatic method is based on scanning the memory for PE/COFF module headers.

To load debug information automatically, select the desired debug context in the Debug view and click the load_this Load the Current Module (formerly named Load This) button in the Eclipse* toolbar:

load_this_context

The selected context defines the address range that will be searched for debug information:

  • If you select a thread_instance_suspended hardware thread, the memory scan will start from the program counter of the thread.

The value is equal to the program counter of the first stack frame of the thread.

  • If you select a stack_frame_instance stack frame, the start point will be its program counter (displayed in the view).

Important:

Clicking Load the Current Module results in loading the debug information only for the currently executing EFI module (at the time of the target halt). If you want to load debug information for multiple modules, use map files with required debug information.

For fine-tuning the search parameters, select Load Module (Custom Search). If left empty, any argument will take the default value.

load_this_custom_search

If the search is successful, you should see the following changes:

  • In the ISD Shell, the following information is displayed under the INFO: tag:

  • Memory addresses that the debugger searched between.

  • The detected module, its address, and its size in bytes.

  • The file name of the loaded module, for which a memory mapping is created.

  • In the Modules view, a new entry is displayed specifying the path, the address, and the size of the loaded file.

  • In the Debug view, new stack frames are displayed under the selected debug context.

Note:

During one execution of Load the Current Module, the debugger loads only one file and stops searching for other modules after the first one is found.

For details on fixing issues with symbols loading, refer to the Troubleshooting section.

Intel(R) Slim Bootloader (Intel(R) SBL) Support

Intel(R) System Debugger supports Firmware with Terse Executable (TE) sections such as Intel(R) Slim Bootloader (Intel(R) SBL). To enable automatic loading of debug information with the Intel(R) SBL supported, do the following:

  1. Open the environment file for editing:

    • For Windows* OS: <install_​dir>/system_​debugger/<version>/env.d/win32/*-isysdbg-env.bat

    • For Linux* OS: <install_​dir>/system_​debugger/<version>/env.d/linux/*-isysdbg-env.sh

  2. Add the following environment variables:

    • ISYSDBG_​FLASH_​BASE - set it to the base address for the flash memory, in hex format.

    • ISYSDBG_​FLASH_​SIZE - set it to the total size of flash memory, in hex format.

  3. Save the file.

Now you can use the load_this Load the Current Module button to load debug information automatically.

For more information, see the Intel(R) Slim Bootloader (Intel(R) SBL) product page.