尝试在Windbg中调试转储文件.它是一个托管与一些Microsoft本机库互操作.我已设置符号路径.sympath SRV*c:\ SymbolsCash*http://msdl.microsoft.com/download/symbols.
我没有任何问题加载SOS.我可以运行sos命令而不会出现任何错误.我也可以运行大部分Windbg命令(如〜,kb,.time等),但是对于某些命令(例如,!address -summary),我得到以下错误.
您的调试器未使用正确的符号
为了使此命令正常工作,您的符号路径
必须指向具有完整类型信息的.pdb文件.某些.pdb文件(例如公共OS符号)不
包含所需信息.
如果需要此命令,请与提供这些符号的组联系
.
引用类型:ntdll!_NT_TIB
我在这里缺少什么想法?
小智 6
从您的输出中,我们可以看到您没有ntdll的符号.请注意您使用"导出符号"的行(上面输出中的第3行).这意味着您没有此模块的符号,并且调试器仅使用模块导出表中的条目.您需要的结构不包含在导出表的有限信息中.
您的符号路径应如下所示:
SRV*<local symbol cache directory>*http://msdl.microsoft.com/download/symbols
Run Code Online (Sandbox Code Playgroud)
例:
SRV*c:\symbols*http://msdl.microsoft.com/download/symbols
Run Code Online (Sandbox Code Playgroud)
如果正确设置了符号路径,则可以通过运行以下命令打开详细符号加载:
!sym noisy
Run Code Online (Sandbox Code Playgroud)
然后强制重新加载ntdll.dll:
.reload /f ntdll.dll
Run Code Online (Sandbox Code Playgroud)
使用输出确定您没有获得符号的原因.然后运行以下命令关闭详细符号加载:
!sym quiet
Run Code Online (Sandbox Code Playgroud)
此外,我更喜欢!lmi <binary>(例如!lmi ntdll)lmvm在解决符号加载时的问题.关于你拥有的东西,输出更清晰一些.在!lmi输出结束时,您将看到"加载报告"行.
| 归档时间: |
|
| 查看次数: |
8846 次 |
| 最近记录: |