FindDebugInfoFileEx 函数 (dbghelp.h)

找到指定的 调试 (.dbg) 文件

语法

HANDLE IMAGEAPI FindDebugInfoFileEx(
  [in]           PCSTR                     FileName,
  [in]           PCSTR                     SymbolPath,
  [out]          PSTR                      DebugFilePath,
  [in, optional] PFIND_DEBUG_FILE_CALLBACK 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 函数(例如此函数)都是单线程的。 因此,从多个线程调用此函数可能会导致意外行为或内存损坏。 若要避免这种情况,必须将多个线程中的所有并发调用同步到此函数。

若要调用此函数的 Unicode 版本,请定义 DBGHELP_TRANSLATE_TCHAR。

要求

要求
目标平台 Windows
标头 dbghelp.h
Library Dbghelp.lib
DLL Dbghelp.dll
可再发行组件 DbgHelp.dll 5.1 或更高版本

另请参阅

DbgHelp 函数

FindDebugInfoFileProc

SymGetSearchPath