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


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

Находит указанный отладочный файл (DBG-файл).

Синтаксис

HANDLE IMAGEAPI FindDebugInfoFileExW(
  [in]           PCWSTR                     FileName,
  [in]           PCWSTR                     SymbolPath,
  [out]          PWSTR                      DebugFilePath,
  [in, optional] PFIND_DEBUG_FILE_CALLBACKW Callback,
  [in, optional] PVOID                      CallerData
);

Параметры

[in] FileName

Имя искать DBG-файл. Можно использовать частичный путь.

[in] SymbolPath

Путь, по которому находятся файлы символов. Это может быть несколько путей, разделенных точкой с запятой. Чтобы получить путь к символу, используйте функцию SymGetSearchPath .

[out] DebugFilePath

Указатель на буфер, который получает полный путь к DBG-файлу.

[in, optional] Callback

Определяемая приложением функция обратного вызова, которая проверяет, найден ли правильный файл, или функция должна продолжить поиск. Дополнительные сведения см. в разделе FindDebugInfoFileProc.

Этот параметр может иметь значение NULL.

[in, optional] CallerData

Необязательные пользовательские данные, передаваемые в функцию обратного вызова.

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

Если функция выполняется успешно, возвращаемое значение представляет собой открытый дескриптор DBG-файла.

Если функция завершается сбоем, возвращается значение NULL. Чтобы получить расширенные сведения об ошибке, вызовите Метод GetLastError.

Комментарии

Функция FindDebugInfoFileEx используется для поиска DBG-файла. Эта функция предоставляется таким образом, что поиск можно выполнять в нескольких разных каталогах с помощью одного вызова функции. Параметр SymbolPath может содержать несколько путей, каждый из которых отделен точкой с запятой (;). Если указано несколько путей, функция выполняет поиск файла в каждом указанном каталоге. При обнаружении файла поиск останавливается. Таким образом, обязательно укажите SymbolPath с путями в правильном порядке.

Если указанное имя файла не содержит расширения DBG, FindDebugInfoFileEx выполняет поиск файла в следующей последовательности:

  1. SymbolPath\Symbols\ext\filename.dbg
  2. SymbolPath\ext\filename.dbg
  3. SymbolPath\filename.dbg
  4. FileNamePath\filename.dbg
Все функции DbgHelp, такие как эта, являются однопоточными. Таким образом, вызовы из нескольких потоков к этой функции, скорее всего, приведут к непредвиденному поведению или повреждению памяти. Чтобы избежать этого, необходимо синхронизировать все параллельные вызовы из нескольких потоков в эту функцию.

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

Примечание

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

Требования

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

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

Функции DbgHelp

FindDebugInfoFileProc

SymGetSearchPath