IMAGE_DEBUG_INFORMATION 結構 (dbghelp.h)

包含偵錯資訊。

注意MapDebugInformation 和 UnmapDebugInformation 函式會使用此結構,這些函式僅供回溯相容性使用。
 

語法

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;

規格需求

需求 值
標頭 dbghelp.h
可轉散發套件 DbgHelp.dll 5.1 或更新版本

另請參閱

FPO_DATA

IMAGE_COFF_SYMBOLS_HEADER

IMAGE_DEBUG_DIRECTORY

IMAGE_FUNCTION_ENTRY

IMAGE_SECTION_HEADER

MapDebugInformation

UnmapDebugInformation