Freigeben über


Aktualisierte Plattformunterstützung

Bei Bedarf wurde die DbgHelp-Bibliothek erweitert, um sowohl 32- als auch 64-Bit-Windows zu unterstützen. Die ursprünglichen Funktions- und Strukturdefinitionen befinden sich noch in DbgHelp.h, aber es gibt auch aktualisierte Versionen dieser Definitionen, die mit 64-Bit-Windows kompatibel sind. Wenn Sie die aktualisierten Funktionen in Ihrem Code verwenden, kann sie sowohl für 32- als auch für 64-Bit-Windows kompiliert werden. Ihr Code ist auch effizienter, da die ursprünglichen Funktionen einfach die aktualisierten Funktionen aufrufen, um die Arbeit auszuführen.

DbgHelp.h enthält beispielsweise Definitionen für SymUnloadModule (originale Funktion) und SymUnloadModule64 (aktualisierte Funktion). Diese Definitionen sind nahezu identisch, verwenden jedoch unterschiedliche Typen für den BaseOfDll Parameter. (SymUnloadModule verwendet den DWORD- Typ, während SymUnloadModule64 den DWORD64 Typ verwendet.) Wenn Sie Ihren Code schreiben, um SymUnloadModule64-zu verwenden, kann er sowohl für 32- als auch für 64-Bit-Windows kompiliert werden. Der Code ist auch effizienter als wenn er SymUnloadModule-aufrufen würde.

Es folgt eine Liste der aktualisierten Funktionen:

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

Es folgt eine Liste der aktualisierten Strukturen:

ADDRESS64
IMAGEHLP_DEFERRED_SYMBOL_LOAD64
IMAGEHLP_DUPLICATE_SYMBOL64
IMAGEHLP_LINE64
IMAGEHLP_MODULE64
IMAGEHLP_SYMBOL64
KDHELP64
STACKFRAME64