调试.net使用SOS [英] Debugging .net using SOS

查看:220
本文介绍了调试.net使用SOS的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经使用clrdump创建了一个转储。当我使用sos查看它,我加载sos然后运行!dso,但我得到的错误是:

 对于mscorwks.dll没有加载的PDB符号

然而,在模块窗口中它表示符号被加载。我已经从MS商店获得最新的符号?



有任何想法吗?



谢谢, / p>

Darren。

解决方案

你真的不需要符号 mscorwks.dll !dso 正常工作,但这里有一些关于如何获取符号的建议。



您首先需要做的是验证您是否设置了符号路径?您可以使用 .sympath 命令查看符号路径的当前设置。您可以下载所有符号,并将符号路径指向光盘上的位置,也可以使用在线符号服务器。在任一情况下,符号路径必须指向正确的位置。



您可以使用 .symfix 命令指向Microsoft的公共符号服务器,这可能是最简单的方法获取符号(只要您有在线访问权限)。



使用 lm 命令查看模块及其符号。如果在模块旁边说 pdb符号,一切都可以。请记住,WinDbg只会根据需要加载符号,所以对于很多模块,您可能会看到 deferred 。您可以使用 .reload / f 命令强制加载所有模块的符号。



要排除符号加载问题!sym嘈杂命令。它将告诉您调试器正在尝试找到PDB文件的位置。


I have created a dump using clrdump. When I go to view it using sos, I load up sos and then run !dso, but the error I get is:

PDB symbol for mscorwks.dll not loaded

However, in the module window it says that the symbol is loaded. I have obtained the up to date symbols from the MS store?

Anybody any ideas?

Thanks,

Darren.

解决方案

You don't really need symbols for mscorwks.dll for !dso to work correctly, but here's some advice on how to get the symbols.

First thing you need to do is to verify that you did set the symbol path? You can view the current setting for the symbol path using the .sympath command. You can either download all the symbols and point the symbol path to the location on the disc, or just use the online symbol server. In either case the symbol path must point to the correct location.

You can use the .symfix command to point to Microsoft's public symbol server, which is probably the easiest way to get symbols (provided you have online access).

Use the lm command to see modules and their symbols. If it says pdb symbols next to a module everything is okay. Keep in mind that WinDbg will only load symbols as needed, so for a lot of modules you will probably see deferred. You can force loading symbols for all modules using the .reload /f command.

To troubleshoot loading of symbols use the !sym noisy command. It will tell you where the debugger is trying to locate the PDB files.

这篇关于调试.net使用SOS的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆