symGetSymbolFile 函数 (dbghelp.h)
在指定的符号路径中找到符号文件。
语法
BOOL IMAGEAPI SymGetSymbolFile(
[in, optional] HANDLE hProcess,
[in, optional] PCSTR SymPath,
[in] PCSTR ImageFile,
[in] DWORD Type,
[out] PSTR SymbolFile,
[in] size_t cSymbolFile,
[out] PSTR DbgFile,
[in] size_t cDbgFile
);
参数
[in, optional] hProcess
最初传递给 SymInitialize 函数的进程句柄。
如果此句柄为 0, 则 SymPath 不能为 NULL。 使用此选项可以加载符号文件,而无需调用 SymInitialize 或 SymCleanup。
[in, optional] SymPath
符号路径。 如果此参数为 NULL 或空字符串,则该函数使用使用 SymInitialize 或 SymSetSearchPath 函数设置的符号路径。
[in] ImageFile
图像文件的名称。
[in] Type
符号文件的类型。 此参数的取值可为下列值之一:
值 | 含义 |
---|---|
|
.exe 或 .dll 文件。 |
|
.dbg 文件。 |
|
.pdb 文件。 |
|
保留。 |
[out] SymbolFile
指向以 null 结尾的字符串的指针,该字符串接收符号文件的名称。
[in] cSymbolFile
SymbolFile 缓冲区的大小(以字符为单位)。
[out] DbgFile
指向接收符号文件的完全限定路径的缓冲区的指针。 此缓冲区必须至少MAX_PATH个字符。
[in] cDbgFile
DbgFile 缓冲区的大小(以字符为单位)。
返回值
如果服务器找到有效的符号文件,则返回 TRUE;否则,它将返回 FALSE , GetLastError 返回一个值,该值指示不返回符号文件的原因。
备注
所有 DbgHelp 函数(例如此函数)都是单线程的。 因此,从多个线程调用此函数可能会导致意外行为或内存损坏。 若要避免这种情况,必须将多个线程中的所有并发调用同步到此函数。
若要调用此函数的 Unicode 版本,请定义 DBGHELP_TRANSLATE_TCHAR。
要求
目标平台 | Windows |
标头 | dbghelp.h |
Library | Dbghelp.lib |
DLL | Dbghelp.dll |
可再发行组件 | DbgHelp.dll 6.3 或更高版本 |