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


Функция SymGetSymbolFileW (dbghelp.h)

Находит файл символов по указанному пути к символам.

Синтаксис

BOOL IMAGEAPI SymGetSymbolFileW(
  [in, optional] HANDLE hProcess,
  [in, optional] PCWSTR SymPath,
  [in]           PCWSTR ImageFile,
  [in]           DWORD  Type,
  [out]          PWSTR  SymbolFile,
  [in]           size_t cSymbolFile,
  [out]          PWSTR  DbgFile,
  [in]           size_t cDbgFile
);

Параметры

[in, optional] hProcess

Дескриптор процесса, который изначально был передан функции SymInitialize .

Если этот дескриптор равен 0, SymPath не может иметь значение NULL. Используйте этот параметр для загрузки файла символов без вызова SymInitialize или SymCleanup.

[in, optional] SymPath

Путь к символу. Если этот параметр имеет значение NULL или пустую строку, функция использует путь к символам, заданный с помощью функции SymInitialize или SymSetSearchPath .

[in] ImageFile

Имя файла изображения.

[in] Type

Тип файла символов. Этот параметр может принимать одно из указанных ниже значений.

Значение Значение
sfImage
0
Файл .exe или .dll.
sfDbg
1
DBG-файл.
sfPdb
2
PDB-файл.
sfMpd
3
Зарезервировано.

[out] SymbolFile

Указатель на строку, завершающуюся значением NULL, которая получает имя файла символов.

[in] cSymbolFile

Размер буфера SymbolFile в символах.

[out] DbgFile

Указатель на буфер, получающий полный путь к файлу символов. Этот буфер должен содержать не менее MAX_PATH символов.

[in] cDbgFile

Размер буфера DbgFile в символах.

Возвращаемое значение

Если сервер находит допустимый файл символов, возвращается значение TRUE; В противном случае возвращается значение FALSE , а GetLastError — значение, указывающее, почему файл символов не был возвращен.

Комментарии

Все функции DbgHelp, такие как эта, являются однопоточными. Таким образом, вызовы из нескольких потоков к этой функции, скорее всего, приведут к непредвиденному поведению или повреждению памяти. Чтобы избежать этого, необходимо синхронизировать все параллельные вызовы из нескольких потоков в эту функцию.

Чтобы вызвать версию юникода этой функции, определите DBGHELP_TRANSLATE_TCHAR.

Примечание

Заголовок dbghelp.h определяет SymGetSymbolFile в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Целевая платформа Windows
Header dbghelp.h
Библиотека Dbghelp.lib
DLL Dbghelp.dll
Распространяемые компоненты DbgHelp.dll 6.3 или более поздней версии

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

Функции DbgHelp

SymInitialize