更新的平台支援

如有必要,DbgHelp 連結庫已擴大以支援32位和64位 Windows。 原始函式和結構定義仍位於 DbgHelp.h 中,但也有與 64 位 Windows 相容的這些定義的更新版本。 如果您在程式代碼中使用更新的函式,則可以針對 32 位和 64 位 Windows 進行編譯。 您的程式代碼也會更有效率,因為原始函式只會呼叫更新的函式來執行工作。

例如,DbgHelp.h 包含 SymUnloadModule (原始函式) 和 SymUnloadModule64 (updated 函式) 的定義。 這些定義幾乎完全相同,但對 BaseOfDll 參數使用不同的類型。 (SymUnloadModule 使用 DWORD 類型,而 SymUnloadModule64 則使用 DWORD64 類型。如果您撰寫程式代碼以使用 SymUnloadModule64,則可以針對 32 位和 64 位 Windows 進行編譯。 程序代碼也比呼叫 SymUnloadModule 更有效率。

以下是更新的函式清單:

EnumerateLoadedModules64
StackWalk64
SymEnumerateModules64
SymEnumerateSymbols64
SymFunctionTableAccess64
SymGetLineFromAddr64
SymGetLineFromName64
SymGetLineNext64
SymGetLinePrev64
SymGetModuleBase64
SymGetModuleInfo64
SymGetSymFromAddr64
SymGetSymFromName64
SymGetSymNext64
SymGetSymPrev64
SymLoadModule64
SymRegisterCallback64
SymRegisterFunctionEntryCallback64
SymUnDName64
SymUnloadModule64

以下是更新結構的清單:

ADDRESS64
IMAGEHLP_DEFERRED_SYMBOL_LOAD64
IMAGEHLP_DUPLICATE_SYMBOL64
IMAGEHLP_LINE64
IMAGEHLP_MODULE64
IMAGEHLP_SYMBOL64
KDHELP64
STACKFRAME64