Intel® System Debugger User Guide

ID Date Version Classification
648476 10/17/2024 Confidential
Document Table of Contents

Configuring the Scan for Debug Information

The functionality of load_this Load the Current Module (formerly named Load This) is based on scanning the memory for PE/COFF module headers.

The default way of loading debug information by pressing load_this Load the Current Module button (see instructions here) implies the following conditions to be true:

  • You want to load the debug information of the module being currently executed. This means that the start address for the scanning is the current program counter.

  • Most of modules to be loaded are aligned at the page boundary. This means, the default stride equals the page size (4KB).

  • Modules to be loaded are not bigger than 4KB.

To load information with custom parameters, launch the debugger_icon ISD Shell and execute the following command:

threads[N].load_this([<start>, <alignment>, <search_range>])

where:

  • N is the number of a hardware thread.

  • start (optional) points to the address to start scanning for debug information. The default value is the current program counter.

  • alignment (optional) defines the scan stride size in bytes. The default value is 8 bytes when the start parameter represents an address in flash memory. Otherwise, the default value is the page size, 4KB.

  • search_​range (optional) defines the scan range size in bytes. The default value is 64KB when the start parameter represents an address in flash memory (flash modules). Otherwise, the default value is 8MB.

For instructions on fixing other issues, see the Troubleshooting section.

Examples

Search from the current program counter with a stride of 1KB and a range of 1MB

threads[0].load_this(alignment = 1024, search_range = 1 << 20)

Search from a given address using the range of 8MB

threads[0].load_this(start = 0x12340000, search_range = 8 << 20)

In BIOS PEI/pre-MRC phase, for PEI modules whose size is larger than the default search_​range value, the search must scan larger memory spaces. For example, search from the current program counter with a stride of 4B and a range of 1MB

threads[0].load_this(search_range = 1 << 20, alignment = 4)
See also:

Create simple CLI commands for frequent debug tasks