Actualización de la compatibilidad para plataformas

Cuando sea necesario, la biblioteca DbgHelp se ha ampliado para admitir Windows de 32 y 64 bits. Las definiciones de estructura y función originales siguen estando en DbgHelp.h, pero también hay versiones actualizadas de estas definiciones que son compatibles con Windows de 64 bits. Si usa las funciones actualizadas en el código, se puede compilar para Windows de 32 y 64 bits. El código también será más eficaz, ya que las funciones originales simplemente llaman a las funciones actualizadas para realizar el trabajo.

Por ejemplo, DbgHelp.h contiene definiciones para SymUnloadModule (función original) y SymUnloadModule64 (función actualizada). Estas definiciones son casi idénticas, pero usan tipos diferentes para el parámetro BaseOfDll . (SymUnloadModule usa el tipo DWORD , mientras que SymUnloadModule64 usa el tipo DWORD64 ). Si escribe el código para usar SymUnloadModule64, se puede compilar para Windows de 32 y 64 bits. El código también es más eficaz que si fuera a llamar a SymUnloadModule.

A continuación se muestra una lista de las funciones actualizadas:

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

A continuación se muestra una lista de las estructuras actualizadas:

ADDRESS64
IMAGEHLP_DEFERRED_SYMBOL_LOAD64
IMAGEHLP_DUPLICATE_SYMBOL64
IMAGEHLP_LINE64
IMAGEHLP_MODULE64
IMAGEHLP_SYMBOL64
KDHELP64
STACKFRAME64