我从我们的一个应用程序的崩溃中获得了一个小型转储文件。这是一个 32 位本机应用程序,它在 64 位 Windows 上运行。
如果我将 minidump 文件加载到 WinDbg 中,WinDbg 将不会加载系统 DLL 的符号。我的符号路径配置正确:
_NT_SYMBOL_PATH=SRV*C:\WebSymbols*http://msdl.microsoft.com/download/symbols
...因为 WinDbg 正确加载了在 32 位 Windows 上创建的小型转储的符号。它只是不会为 SysWOW64 目录中的 DLL 加载符号。
我在 32 位 Windows 2003 上尝试了 32 位 WinDbg(来自调试工具 6.9),在 64 位 Windows 2008 上尝试了 64 位 WinDbg(也来自调试工具 6.9)。两者都无法加载符号。这是来自 32 位 WinDbg:
0:014> !sym 嘈杂 嘈杂模式 - 符号提示开启 0:014> .reload ..................................................... ..................................... 加载卸载的模块列表 .. SYMSRV: C:\WebSymbols\ntdll.dll\48E714D0170000\ntdll.dll 未找到 SYMSRV:http://msdl.microsoft.com/download/symbols/ntdll.dll/48E714D0170000/ntdll.dll 未找到 DBGENG: C:\Windows\SysWOW64\ntdll.dll - 无法从磁盘映射图像。 无法加载映像 C:\Windows\SysWOW64\ntdll.dll,Win32 错误 0n2 DBGENG:ntdll.dll - 部分符号图像加载缺少图像信息 DBGHELP:模块未完全加载到内存中。 DBGHELP:使用调试器提供的数据搜索符号。 SYMSRV:C:\WebSymbols\wntdll.pdb\6686D0C5D0554E14953396093DA218A92\wntdll.pdb 未找到 SYMSRV:http://msdl.microsoft.com/download/symbols/wntdll.pdb/6686D0C5D0554E14953396093DA218A92/wntdll.pdb 未找到 DBGHELP:wntdll.pdb - 找不到文件 *** 警告:无法验证 ntdll.dll 的时间戳 *** 错误:模块加载完成,但无法为 ntdll.dll 加载符号 DBGHELP:ntdll - 未加载符号 SYMSRV: C:\WebSymbols\kernel32.dll\48E7156Cf0000\kernel32.dll 未找到 SYMSRV:http://msdl.microsoft.com/download/symbols/kernel32.dll/48E7156Cf0000/kernel32.dll 未找到 DBGENG: C:\Windows\SysWOW64\kernel32.dll - 无法从磁盘映射图像。 无法加载映像 C:\Windows\SysWOW64\kernel32.dll,Win32 错误 0n2 DBGENG:kernel32.dll - 部分符号图像加载缺少图像信息 DBGHELP:模块未完全加载到内存中。 DBGHELP:使用调试器提供的数据搜索符号。 SYMSRV:C:\WebSymbols\wkernel32.pdb\B0C3B36CC7EF4F3E9C168E186A5A6FEB2\wkernel32.pdb 未找到 SYMSRV:http://msdl.microsoft.com/download/symbols/wkernel32.pdb/B0C3B36CC7EF4F3E9C168E186A5A6FEB2/wkernel32.pdb 未找到 DBGHELP:wkernel32.pdb - 找不到文件 *** 警告:无法验证 kernel32.dll 的时间戳 *** 错误:模块加载完成,但无法为 kernel32.dll 加载符号 DBGHELP:kernel32 - 未加载符号 SYMSRV: C:\WebSymbols\KERNELBASE.dll\48E7156D5a000\KERNELBASE.dll 未找到 SYMSRV:http://msdl.microsoft.com/download/symbols/KERNELBASE.dll/48E7156D5a000/KERNELBASE.dll 未找到 DBGENG: C:\Windows\SysWOW64\KERNELBASE.dll - 无法从磁盘映射图像。 DBGENG:KERNELBASE.dll - 部分符号图像加载缺少图像信息 DBGHELP:模块未完全加载到内存中。 DBGHELP:使用调试器提供的数据搜索符号。 SYMSRV: C:\WebSymbols\wkernelbase.pdb\A8683F0C515F469B833E3FA562E0DB251\wkernelbase.pdb 未找到 SYMSRV:http://msdl.microsoft.com/download/symbols/wkernelbase.pdb/A8683F0C515F469B833E3FA562E0DB251/wkernelbase.pdb 未找到 DBGHELP:wkernelbase.pdb - 找不到文件 *** 警告:无法验证 KERNELBASE.dll 的时间戳 *** 错误:模块加载完成,但无法为 KERNELBASE.dll 加载符号 DBGHELP: KERNELBASE - 未加载符号
有任何想法吗?这些符号在 Microsoft 的符号服务器上不可用吗?