Intel® System Debugger User Guide
ID | Date | Version | Classification |
---|---|---|---|
648476 | 10/17/2024 | Confidential |
Configuring the Scan for Debug Information
The functionality of 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 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 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)