开发者

Debugging .net using SOS

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.


!sym noisy    
.symfix
.reload -f
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜