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


Функция 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 или более поздней версии

См. также раздел

Функции DbgHelp

SYMBOL_INFO