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


Функция 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 или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
целевая платформа Виндоус
заголовка dbghelp.h
библиотеки Dbghelp.lib
DLL Dbghelp.dll
распространяемый DbgHelp.dll 5.1 или более поздней версии

См. также

функций DbgHelp

SYMBOL_INFO