IMAGE_DEBUG_INFORMATION Structure

Debug Help Library

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

A linked list of LIST_ENTRY structures.

Size

The size of the memory allocated for the IMAGE_DEBUG_INFORMATION structure and all debugging information, in bytes.

MappedBase

The base address of the image.

Machine

The computer type. This member can be one of the following values.

Value Meaning

IMAGE_FILE_MACHINE_I386
0x014c

Intel (32-bit)

IMAGE_FILE_MACHINE_IA64
0x0200

Intel Itanium Processor Family (IPF)

IMAGE_FILE_MACHINE_AMD64
0x8664

x64 (AMD64 or EM64T)

Characteristics

The characteristics of the image. This member can be one of the following values.

Value Meaning

IMAGE_FILE_RELOCS_STRIPPED
0x0001

Relocation information is stripped from the file.

IMAGE_FILE_EXECUTABLE_IMAGE
0x0002

The file is executable (there are no unresolved external references).

IMAGE_FILE_LINE_NUMS_STRIPPED
0x0004

Line numbers are stripped from the file.

IMAGE_FILE_LOCAL_SYMS_STRIPPED
0x0008

Local symbols are stripped from file.

IMAGE_FILE_AGGRESIVE_WS_TRIM
0x0010

Aggressively trim the working set.

IMAGE_FILE_LARGE_ADDRESS_AWARE
0x0020

The application can handle addresses larger than 2 GB.

IMAGE_FILE_BYTES_REVERSED_LO
0x0080

Bytes of the word are reversed.

IMAGE_FILE_32BIT_MACHINE
0x0100

Computer supports 32-bit words.

IMAGE_FILE_DEBUG_STRIPPED
0x0200

Debugging information is stored separately in a .dbg file.

IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP
0x0400

If the image is on removable media, copy and run from the swap file.

IMAGE_FILE_NET_RUN_FROM_SWAP
0x0800

If the image is on the network, copy and run from the swap file.

IMAGE_FILE_SYSTEM
0x1000

System file.

IMAGE_FILE_DLL
0x2000

DLL file.

IMAGE_FILE_UP_SYSTEM_ONLY
0x4000

File should be run only on a uniprocessor computer.

IMAGE_FILE_BYTES_REVERSED_HI
0x8000

Bytes of the word are reversed.

CheckSum

The checksum of the image.

ImageBase

The requested base address of the image.

SizeOfImage

The size of the image, in bytes.

NumberOfSections

The number of COFF section headers.

Sections

A pointer to the first COFF section header. For more information, see IMAGE_SECTION_HEADER.

ExportedNamesSize

The size of the ExportedNames member, in bytes.

ExportedNames

A pointer to a series of null-terminated strings that name all the functions exported from the image.

NumberOfFunctionTableEntries

The number of entries contained in the FunctionTableEntries member.

FunctionTableEntries

A pointer to the first function table entry. For more information, see IMAGE_FUNCTION_ENTRY.

LowestFunctionStartingAddress

The lowest function table starting address.

HighestFunctionEndingAddress

The highest function table ending address.

NumberOfFpoTableEntries

The number of entries contained in the FpoTableEntries member.

FpoTableEntries

A pointer to the first FPO entry. For more information, see FPO_DATA.

SizeOfCoffSymbols

The size of the COFF symbol table, in bytes.

CoffSymbols

A pointer to the COFF symbol table.

SizeOfCodeViewSymbols

The size of the CodeView symbol table, in bytes.

CodeViewSymbols

A pointer to the beginning of the CodeView symbol table.

ImageFilePath

The relative path to the image file name.

ImageFileName

The image file name.

ReservedDebugFilePath

The full path to the symbol file.

ReservedTimeDateStamp

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

A pointer to the first debug directory. For more information, see IMAGE_DEBUG_DIRECTORY.

ReservedNumberOfDebugDirectories

The number of entries contained in the DebugDirectory member.

ReservedOriginalFunctionTableBaseAddress

The original function table base address.

Reserved

This member is reserved for use by the operating system.

Remarks

The LIST_ENTRY structure is defined as follows:

typedef struct _LIST_ENTRY {
   struct _LIST_ENTRY *Flink;
   struct _LIST_ENTRY *Blink;
} LIST_ENTRY, *PLIST_ENTRY, *RESTRICTED_POINTER PRLIST_ENTRY;

Requirements

Redistributable

Requires DbgHelp.dll 5.1 or later.

Header

Declared in DbgHelp.h.

See Also

FPO_DATA
IMAGE_COFF_SYMBOLS_HEADER
IMAGE_DEBUG_DIRECTORY
IMAGE_FUNCTION_ENTRY
IMAGE_SECTION_HEADER
MapDebugInformation
UnmapDebugInformation


Send comments about this topic to Microsoft

Build date: 9/25/2007

© 2007 Microsoft Corporation. All rights reserved.