在 Win32 API 中,IMAGE_DEBUG_INFORMATION 结构体是在 Dbghelp.h 头文件中定义的,用于描述 PE 文件的调试信息。以下是该结构体的定义:
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             DebugFilePath;
  DWORD            TimeDateStamp;
  BOOL             RomImage;
  DWORD            Reserved[1];
} IMAGE_DEBUG_INFORMATION, *PIMAGE_DEBUG_INFORMATION;

这个结构体包含了很多调试信息的详细描述,其中包括文件映射信息、PE 文件头的一些基本信息、节表信息、导出表信息、函数表信息、调试符号信息等等。

这个结构体通常在符号处理的过程中用于获取 PE 文件的调试信息。注意其中的 CodeViewSymbols 字段,它通常包含 CodeView 格式的调试符号信息,用于与调试器交互。

请注意,Dbghelp.h 头文件中的结构体和类型定义可能会因不同的 Windows SDK 版本而有所不同。如果你的开发环境使用的是较新的 SDK 版本,建议查看相应版本的 SDK 文档或头文件以获取准确的定义。


转载请注明出处:http://www.zyzy.cn/article/detail/26384/Win32 API/Dbghelp.h/IMAGE_DEBUG_INFORMATION