Intel® System Debugger User Guide

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

Loading Individual Modules

You can load any module individually by calling the following function:

threads[N].load_symbol_file(filename="<filename>", [<address>, <size>, <offset>, <files>])

where

  • N is the ordinal number of a hardware thread

  • filename is the name of a file to load (for example, an .efi file). Use the filename or files parameter, not both.

  • address (optional) is the location of the file in the target memory

  • size (optional) is the size (in bytes) of the image

  • offset (optional) is the integer offset between the base address of the module in the target memory and the link-time address (created during the file compilation)

  • files (optional) is the BinaryFile object or a list of BinaryFile objects to load. Use the filename or files parameter, not both.

Examples

  1. The debugger loads the specified module using the link-time address.

    threads[0].load_symbol_file(filename="my_vmlinux")
    
  2. The debugger loads the specified module using the absolute address passed.

    threads[0].load_symbol_file(filename="my_vmlinux", address=0xffffff1234)
    
  3. The debugger loads the specified module using the offset on top of the link-time address.

    threads[0].load_symbol_file(filename="my_vmlinux", offset=0x1234)
    
  4. This function throws an exception because address and offset parameters are mutually exclusive.

    threads[0].load_symbol_file(filename="my_vmlinux", address=0xF0CA, offset=0xcafe)
    
See also:

Create simple CLI commands for frequent debug tasks