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;

規格需求

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

另請參閱

FPO_DATA

IMAGE_COFF_SYMBOLS_HEADER

IMAGE_DEBUG_DIRECTORY

IMAGE_FUNCTION_ENTRY

IMAGE_SECTION_HEADER

MapDebugInformation

UnmapDebugInformation