Sdílet prostřednictvím


Aktualizovaná podpora platformy

V případě potřeby byla knihovna DbgHelp rozšířena tak, aby podporovala 32bitovou i 64bitovou verzi Windows. Původní definice funkcí a struktur jsou stále v DbgHelp.h, ale existují také aktualizované verze těchto definic, které jsou kompatibilní s 64bitovou verzí Systému Windows. Pokud ve svém kódu použijete aktualizované funkce, můžete je zkompilovat pro 32bitovou i 64bitovou verzi Windows. Váš kód bude také efektivnější, protože původní funkce jednoduše volají aktualizované funkce, aby fungovaly.

Například DbgHelp.h obsahuje definice pro SymUnloadModule (původní funkce) a SymUnloadModule64 (aktualizovaná funkce). Tyto definice jsou téměř stejné, ale pro parametr BaseOfDll používají různé typy. (SymUnloadModule používá typ DWORD DWORD, zatímco SymUnloadModule64 používá typ DWORD64.) Pokud napíšete kód tak, aby používal SymUnloadModule64, lze ho zkompilovat pro 32bitovou i 64bitovou verzi Windows. Kód je také efektivnější, než kdyby bylo volání SymUnloadModule.

Následuje seznam aktualizovaných funkcí:

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

Následuje seznam aktualizovaných struktur:

ADDRESS64
IMAGEHLP_DEFERRED_SYMBOL_LOAD64
IMAGEHLP_DUPLICATE_SYMBOL64
IMAGEHLP_LINE64
IMAGEHLP_MODULE64
IMAGEHLP_SYMBOL64
KDHELP64
STACKFRAME64