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


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

Требования

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

См. также

функций DbgHelp

SymInitialize