Platform SDK: Debugging and Error Handling

IMAGE_DEBUG_INFORMATION

The IMAGE_DEBUG_INFORMATION structure contains debugging information.

Note  This structure is used by the MapDebugInformation and UnmapDebugInformation functions, which are provided only for backward compatibility.

typedef struct _IMAGE_DEBUG_INFORMATION {
    LIST_ENTRY List;
    DWORD Size;
    PVOID MappedBase;
    USHORT Machine;
    USHORT Characteristics;
    DWORD CheckSum;
    DWORD ImageBase;
    DWORD SizeOfImage;
    DWORD NumberOfSections;
    PIMAGE_SECTION_HEADER Sections;
    DWORD ExportedNamesSize;
    PSTR ExportedNames;
    DWORD NumberOfFunctionTableEntries;
    PIMAGE_FUNCTION_ENTRY FunctionTableEntries;
    DWORD LowestFunctionStartingAddress;
    DWORD HighestFunctionEndingAddress;
    DWORD NumberOfFpoTableEntries;
    PFPO_DATA FpoTableEntries;
    DWORD SizeOfCoffSymbols;
    PIMAGE_COFF_SYMBOLS_HEADER CoffSymbols;
    DWORD SizeOfCodeViewSymbols;
    PVOID CodeViewSymbols;
    PSTR ImageFilePath;
    PSTR ImageFileName;
    PSTR ReservedDebugFilePath;
    DWORD ReservedTimeDateStamp;
    BOOL ReservedRomImage;
    PIMAGE_DEBUG_DIRECTORY ReservedDebugDirectory;
    DWORD ReservedNumberOfDebugDirectories;
    DWORD ReservedOriginalFunctionTableBaseAddress;
    DWORD Reserved[2];
} IMAGE_DEBUG_INFORMATION, *PIMAGE_DEBUG_INFORMATION;

Members

List
Specifies the linked list pointers.
Size
Specifies the size of the memory allocated for the IMAGE_DEBUG_INFORMATION structure and all debugging information.
MappedBase
Specifies the base address of the image.
Machine
Specifies the computer type.
Value Meaning
IMAGE_FILE_MACHINE_I386 Intel
IMAGE_FILE_MACHINE_ALPHA DEC Alpha
IMAGE_FILE_MACHINE_IA64 Intel (64-bit)
IMAGE_FILE_MACHINE_AXP64 DEC Alpha (64-bit)

Characteristics
Specifies the characteristics of the image.
Value Meaning
IMAGE_FILE_RELOCS_STRIPPED Relocation information is stripped from the file.
IMAGE_FILE_EXECUTABLE_IMAGE The file is executable (there are no unresolved external references).
IMAGE_FILE_LINE_NUMS_STRIPPED Line numbers are stripped from the file.
IMAGE_FILE_LOCAL_SYMS_STRIPPED Local symbols are stripped from file.
IMAGE_FILE_AGGRESIVE_WS_TRIM Aggressively trim the working set.
IMAGE_FILE_LARGE_ADDRESS_AWARE The application can handle addresses larger than 2 GB.
IMAGE_FILE_BYTES_REVERSED_LO Bytes of the word are reversed.
IMAGE_FILE_32BIT_MACHINE Computer supports 32-bit words.
IMAGE_FILE_DEBUG_STRIPPED Debugging information is stored separately in a .dbg file.
IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP If the image is on removable media, copy and run from the swap file.
IMAGE_FILE_NET_RUN_FROM_SWAP If the image is on the network, copy and run from the swap file.
IMAGE_FILE_SYSTEM System file.
IMAGE_FILE_DLL DLL file.
IMAGE_FILE_UP_SYSTEM_ONLY File should be run only on a uniprocessor computer.
IMAGE_FILE_BYTES_REVERSED_HI Bytes of the word are reversed.

CheckSum
Specifies the checksum of the image.
ImageBase
Specifies the requested base address of the image.
SizeOfImage
Specifies the size of the image.
NumberOfSections
Specifies the number of COFF section headers.
Sections
Pointer to the first COFF section header. For more information, see IMAGE_SECTION_HEADER.
ExportedNamesSize
Specifies the size, in bytes, of the ExportedNames member.
ExportedNames
Pointer to a series of null-terminated strings that name all the functions exported from the image.
NumberOfFunctionTableEntries
Specifies the number of entries contained in the FunctionTableEntries member.
FunctionTableEntries
Pointer to the first function table entry. For more information, see IMAGE_FUNCTION_ENTRY.
LowestFunctionStartingAddress
Specifies the lowest function table starting address.
HighestFunctionEndingAddress
Specifies the highest function table ending address.
NumberOfFpoTableEntries
Specifies the number of entries contained in the FpoTableEntries member.
FpoTableEntries
Pointer to the first FPO entry. For more information, see FPO_DATA.
SizeOfCoffSymbols
Specifies the size of the COFF symbol table.
CoffSymbols
Pointer to the COFF symbol table.
SizeOfCodeViewSymbols
Specifies the size of the CodeView symbol table.
CodeViewSymbols
Pointer to the beginning of the CodeView symbol table.
ImageFilePath
Specifies the relative path to the image file name.
ImageFileName
Specifies the image file name.
ReservedDebugFilePath
Specifies the full path to the symbol file.
ReservedTimeDateStamp
Specifies the timestamp of the image. This represents the date and time the image was created by the linker.
ReservedRomImage
This value is TRUE if the image is a ROM image.
ReservedDebugDirectory
Pointer to the first debug directory. For more information, see IMAGE_DEBUG_DIRECTORY.
ReservedNumberOfDebugDirectories
Specifies the number of entries contained in the DebugDirectory member.
ReservedOriginalFunctionTableBaseAddress
Specifies the original function table base address.
Reserved
These values are undefined and reserved for use by the operating system.

Requirements

  Windows NT/2000: Requires Windows NT 3.51 or later.
  Windows 95/98: Requires Windows 95 or later. Available as a redistributable for Windows 95.
  Header: Declared in Dbghelp.h.

See Also

Debug Help Library Overview, DbgHelp Structures, FPO_DATA, IMAGE_COFF_SYMBOLS_HEADER, IMAGE_DEBUG_DIRECTORY, IMAGE_FUNCTION_ENTRY, IMAGE_SECTION_HEADER, MapDebugInformation, UnmapDebugInformation