无法获取转储的调试符号

时间:2014-07-23 15:47:48

标签: c++ windows debugging crash-dumps

尝试在windbg / VS中调试minidump。无法获取版本msvcr90的{​​{1}}的符号。试图做9.0.30729.8387。如果我设置了对我的应用程序符号的同情,我可以获得调用堆栈的一部分我的代码,但不是msvcr。如果我使用.symfix,部分我可以从c运行时获得几个调用,但显然不是来自我的代码。

.symfix没有!sym noisy

.symfix

我能看到的最后一件事是来自SYMSRV: \\eserver\symstore\ms\msvcr90.dll\51EA1BBDa3000\msvcr90.dll not found SYMSRV: \\eserver\symstore\ms\msvcr90.dll\51EA1BBDa3000\msvcr90.dll not found SYMSRV: \\eserver\symstore\ms\msvcr90.dll\51EA1BBDa3000\msvcr90.dll not found SYMSRV: http://msdl.microsoft.com/download/symbols/msvcr90.dll/51EA1BBDa3000/msvcr90.dll not found DBGHELP: C:\Program Files\Debugging Tools for Windows (x64)\msvcr90.dll - file not found SYMSRV: \\eserver\symstore\ms\msvcr90.dll\51EA1BBDa3000\msvcr90.dll not found SYMSRV: \\eserver\symstore\ms\msvcr90.dll\51EA1BBDa3000\msvcr90.dll not found SYMSRV: \\eserver\symstore\ms\msvcr90.dll\51EA1BBDa3000\msvcr90.dll not found SYMSRV: http://msdl.microsoft.com/download/symbols/msvcr90.dll/51EA1BBDa3000/msvcr90.dll not found DBGENG: C:\Windows\WinSxS\amd64_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.8387_none_08e793bfa83a89b5\msvcr90.dll - Couldn't map image from disk. Unable to load image C:\Windows\WinSxS\amd64_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.8387_none_08e793bfa83a89b5\msvcr90.dll, Win32 error 0n2 DBGENG: msvcr90.dll - Partial symbol image load missing image info DBGHELP: Module is not fully loaded into memory. DBGHELP: Searching for symbols using debugger-provided data. *** WARNING: Unable to verify timestamp for msvcr90.dll 的电话。在所有方面,我只能得到一部分调用堆栈,我需要完整。有没有办法获得正确的符号? msvcr90!_freefls符号的类似问题。

客户端操作系统:Windows Server 2012(版本9200)64位,Windows 7(版本7600)64位,Windows Vista(版本6000)64位,Windows Server 2008 R2(版本7600)64位。 / p>

2 个答案:

答案 0 :(得分:0)

您可以拥有多个符号路径,以便调试器可以从多个位置获取符号。

.Symfix

是一个很好的第一个命令来运行。 然后使用

.sympathy+ c:\<My_symbols>

上面的另一个问题是

Couldn't map image from disk.

来自

DBGENG:  C:\Windows\WinSxS\amd64_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.8387_none_08e793bfa83a89b5\msvcr90.dll - Couldn't map image from disk.
Unable to load image C:\Windows\WinSxS\amd64_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.8387_none_08e793bfa83a89b5\msvcr90.dll, Win32 error 0n2
DBGENG:  msvcr90.dll - Partial symbol image load missing image info
DBGHELP: Module is not fully loaded into memory.

我会创建该文件的另一个副本,并将符号路径指向该文件以查看调试器是否可以从那里加载它。

答案 1 :(得分:0)

解决了附加调试器的客户端操作系统上的重现问题。