Функция SymFromAddrW (dbghelp.h)
Извлекает сведения о символах для указанного адреса.
Синтаксис
BOOL IMAGEAPI SymFromAddrW(
[in] HANDLE hProcess,
[in] DWORD64 Address,
[out, optional] PDWORD64 Displacement,
[in, out] PSYMBOL_INFOW Symbol
);
Параметры
[in] hProcess
Дескриптор процесса. Этот дескриптор должен быть ранее передан в функцию SymInitialize .
[in] Address
Адрес, по которому должен находиться символ. Адрес не обязательно должен находиться на границе символа. Если адрес находится после начала символа и до конца символа, он будет найден.
[out, optional] Displacement
Смещение от начала символа или нуль.
[in, out] Symbol
Указатель на структуру SYMBOL_INFO , которая предоставляет сведения о символе. Имя символа имеет переменную длину; Поэтому этот буфер должен быть достаточно большим, чтобы вместить имя, хранящееся в конце структуры SYMBOL_INFO . Обязательно задайте для элемента MaxNameLen количество байтов, зарезервированных для имени.
Возвращаемое значение
Если функция выполнена успешно, возвращается значение TRUE.
Если функция завершается сбоем, возвращается значение FALSE. Чтобы получить расширенные сведения об ошибке, вызовите Метод GetLastError.
Комментарии
Все функции DbgHelp, такие как эта, являются однопоточными. Таким образом, вызовы из нескольких потоков к этой функции, скорее всего, приведут к непредвиденному поведению или повреждению памяти. Чтобы избежать этого, необходимо синхронизировать все параллельные вызовы из нескольких потоков в эту функцию.
Чтобы вызвать версию юникода этой функции, определите DBGHELP_TRANSLATE_TCHAR.
Примеры
Пример см. в разделе Извлечение сведений о символах по адресу.
Примечание
Заголовок dbghelp.h определяет SymFromAddr в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Целевая платформа | Windows |
Header | dbghelp.h |
Библиотека | Dbghelp.lib |
DLL | Dbghelp.dll |
Распространяемые компоненты | DbgHelp.dll 5.1 или более поздней версии |