IMAGE_DEBUG_INFORMATION 结构 (dbghelp.h)

包含调试信息。

注意MapDebugInformationUnmapDebugInformation 函数使用此结构,它们仅用于向后兼容。
 

语法

typedef struct _IMAGE_DEBUG_INFORMATION {
  LIST_ENTRY                 List;
  DWORD                      ReservedSize;
  PVOID                      ReservedMappedBase;
  USHORT                     ReservedMachine;
  USHORT                     ReservedCharacteristics;
  DWORD                      ReservedCheckSum;
  DWORD                      ImageBase;
  DWORD                      SizeOfImage;
  DWORD                      ReservedNumberOfSections;
  PIMAGE_SECTION_HEADER      ReservedSections;
  DWORD                      ReservedExportedNamesSize;
  PSTR                       ReservedExportedNames;
  DWORD                      ReservedNumberOfFunctionTableEntries;
  PIMAGE_FUNCTION_ENTRY      ReservedFunctionTableEntries;
  DWORD                      ReservedLowestFunctionStartingAddress;
  DWORD                      ReservedHighestFunctionEndingAddress;
  DWORD                      ReservedNumberOfFpoTableEntries;
  PFPO_DATA                  ReservedFpoTableEntries;
  DWORD                      SizeOfCoffSymbols;
  PIMAGE_COFF_SYMBOLS_HEADER CoffSymbols;
  DWORD                      ReservedSizeOfCodeViewSymbols;
  PVOID                      ReservedCodeViewSymbols;
  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;

成员

List

LIST_ENTRY结构的链接列表。

ReservedSize

IMAGE_DEBUG_INFORMATION 结构和所有调试信息分配的内存大小(以字节为单位)。

ReservedMappedBase

映像的基址。

ReservedMachine

计算机类型。 此成员可以是以下值之一。

含义
IMAGE_FILE_MACHINE_I386
0x014c
Intel (32 位)
IMAGE_FILE_MACHINE_IA64
0x0200
Intel Itanium
IMAGE_FILE_MACHINE_AMD64
0x8664
x64 (AMD64 或 EM64T)

ReservedCharacteristics

图像的特征。 此成员可以是以下值之一。

含义
IMAGE_FILE_RELOCS_STRIPPED
0x0001
从文件中删除重定位信息。
IMAGE_FILE_EXECUTABLE_IMAGE
0x0002
该文件是可执行的, (没有未解析的外部引用) 。
IMAGE_FILE_LINE_NUMS_STRIPPED
0x0004
从文件中删除行号。
IMAGE_FILE_LOCAL_SYMS_STRIPPED
0x0008
从文件中删除本地符号。
IMAGE_FILE_AGGRESIVE_WS_TRIM
0x0010
积极剪裁工作集。
IMAGE_FILE_LARGE_ADDRESS_AWARE
0x0020
应用程序可以处理大于 2 GB 的地址。
IMAGE_FILE_BYTES_REVERSED_LO
0x0080
单词的字节被反转。
IMAGE_FILE_32BIT_MACHINE
0x0100
计算机支持 32 位字。
IMAGE_FILE_DEBUG_STRIPPED
0x0200
调试信息单独存储在 .dbg 文件中。
IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP
0x0400
如果映像位于可移动媒体上,请从交换文件复制并运行。
IMAGE_FILE_NET_RUN_FROM_SWAP
0x0800
如果映像位于网络上,请从交换文件复制并运行。
IMAGE_FILE_SYSTEM
0x1000
系统文件。
IMAGE_FILE_DLL
0x2000
DLL 文件。
IMAGE_FILE_UP_SYSTEM_ONLY
0x4000
文件应仅在单处理器计算机上运行。
IMAGE_FILE_BYTES_REVERSED_HI
0x8000
单词的字节被反转。

ReservedCheckSum

映像的校验和。

ImageBase

请求的映像基址。

SizeOfImage

图像的大小(以字节为单位)。

ReservedNumberOfSections

COFF 节标头的数目。

ReservedSections

指向第一个 COFF 节标头的指针。 有关详细信息,请参阅 IMAGE_SECTION_HEADER

ReservedExportedNamesSize

ExportedNames 成员的大小(以字节为单位)。

ReservedExportedNames

指向一系列以 null 结尾的字符串的指针,这些字符串命名从映像导出的所有函数。

ReservedNumberOfFunctionTableEntries

FunctionTableEntries 成员中包含的条目数。

ReservedFunctionTableEntries

指向第一个函数表条目的指针。 有关详细信息,请参阅 IMAGE_FUNCTION_ENTRY

ReservedLowestFunctionStartingAddress

最低函数表的起始地址。

ReservedHighestFunctionEndingAddress

最高函数表结束地址。

ReservedNumberOfFpoTableEntries

FpoTableEntries 成员中包含的条目数。

ReservedFpoTableEntries

指向第一个 FPO 条目的指针。 有关详细信息,请参阅 FPO_DATA

SizeOfCoffSymbols

COFF 符号表的大小(以字节为单位)。

CoffSymbols

指向 COFF 符号表的指针。

ReservedSizeOfCodeViewSymbols

CodeView 符号表的大小(以字节为单位)。

ReservedCodeViewSymbols

指向 CodeView 符号表开头的指针。

ImageFilePath

图像文件名的相对路径。

ImageFileName

图像文件名。

ReservedDebugFilePath

符号文件的完整路径。

ReservedTimeDateStamp

图像的时间戳。 这表示链接器创建映像的日期和时间。

ReservedRomImage

如果映像是 ROM 映像,则此值为 TRUE

ReservedDebugDirectory

指向第一个调试目录的指针。 有关详细信息,请参阅 IMAGE_DEBUG_DIRECTORY

ReservedNumberOfDebugDirectories

DebugDirectory 成员中包含的条目数。

ReservedOriginalFunctionTableBaseAddress

原始函数表基址。

Reserved[2]

此成员保留供操作系统使用。

注解

LIST_ENTRY结构定义如下:

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

要求

要求
Header dbghelp.h
可再发行组件 DbgHelp.dll 5.1 或更高版本

另请参阅

FPO_DATA

IMAGE_COFF_SYMBOLS_HEADER

IMAGE_DEBUG_DIRECTORY

IMAGE_FUNCTION_ENTRY

IMAGE_SECTION_HEADER

MapDebugInformation

UnmapDebugInformation