SplitSymbols 函数 (imagehlp.h)
从指定图像中去除符号。
语法
BOOL IMAGEAPI SplitSymbols(
[in] PSTR ImageName,
[in] PCSTR SymbolsPath,
[out] PSTR SymbolFilePath,
[in] ULONG Flags
);
parameters
[in] ImageName
要从中拆分符号的图像的名称。
[in] SymbolsPath
用于存储符号的子目录。 此参数是可选的。
[out] SymbolFilePath
生成的符号文件的名称。 此文件通常具有 .dbg 扩展名。
[in] Flags
要从映像中拆分的信息。 此参数可以是零,也可以是以下值的组合。
返回值
如果函数成功,则返回值为 TRUE。
如果函数失败,则返回值为 FALSE。 若要检索扩展的错误信息,请调用 GetLastError。
注解
从图像中去除符号时,应使用 SplitSymbols 函数。 它将创建所有兼容调试器都能理解的符号文件。 格式在 WinNT.h 中定义,由图像标头组成,后跟节标头数组、FPO 信息以及图像中的所有调试符号信息。
如果 SymbolsPath 参数为 NULL,符号文件将存储在映像所在的目录中。 否则,它将存储在与图像扩展匹配的 SymbolsPath 下的子目录中。 使用此方法可降低符号文件冲突的可能性。 例如,myapp.exe 的符号将位于 SymbolsPath\exe 目录中,myapp.dll 的符号将位于 SymbolsPath\dll 目录中。
所有 ImageHlp 函数(例如此函数)都是单线程的。 因此,从多个线程调用此函数可能会导致意外行为或内存损坏。 若要避免这种情况,必须将多个线程中的所有并发调用同步到此函数。
要求
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | imagehlp.h |
Library | Imagehlp.lib |
DLL | Imagehlp.dll |