Поделиться через


Обновленная поддержка платформы

При необходимости библиотека DbgHelp была расширена для поддержки 32-разрядных и 64-разрядных Windows. Исходные определения функций и структуры по-прежнему находятся в DbgHelp.h, но существуют также обновленные версии этих определений, совместимые с 64-разрядными Windows. Если вы используете обновленные функции в коде, его можно скомпилировать для 32-разрядных и 64-разрядных Windows. Код также будет более эффективным, так как исходные функции просто вызывают обновленные функции для выполнения работы.

Например, DbgHelp.h содержит определения для SymUnloadModule (исходная функция) и SymUnloadModule64 (обновленная функция). Эти определения почти идентичны, но используют разные типы для параметра BaseOfDll . (SymUnloadModule использует тип DWORD, а SymUnloadModule64 использует тип DWORD64.) Если вы пишете код для использования SymUnloadModule64, его можно скомпилировать для 32-разрядных и 64-разрядных Windows. Код также эффективнее, чем если бы он вызывал SymUnloadModule.

Ниже приведен список обновленных функций:

ПеречислениеLoadedModules64
StackWalk64
SymEnumerateModules64
SymEnumerateSymbols64
SymFunctionTableAccess64
SymGetLineFromAddr64
SymGetLineFromName64
SymGetLineNext64
SymGetLinePrev64
SymGetModuleBase64
SymGetModuleInfo64
SymGetSymFromAddr64
SymGetSymFromName64
SymGetSymNext64
SymGetSymPrev64
SymLoadModule64
SymRegisterCallback64
SymRegisterFunctionEntryCallback64
SymUnDName64
SymUnloadModule64

Ниже приведен список обновленных структур:

ADDRESS64
IMAGEHLP_DEFERRED_SYМБOL_LOAD64
IMAGEHLP_DUPLICATE_SYМБ OL64
IMAGEHLP_LINE64
IMAGEHLP_MODULE64
IMAGEHLP_SYМБ OL64
KDHELP64
STACKFRAME64