开发者

How to debug in clr.dll or mscoree.dll

I followed these steps to be able to debug in the .Net framework code. This work well for some parts of the framework (for example for System.Drawing.dll), but not for other pa开发者_运维技巧rts (clr.dll, mscoree.dll, ...).

This seems a bit strange to me since the code in these dlls was released by Microsoft (at least the parts I see in the call stack).

I am using VS2010 & .Net 4.

Did I do something wrong, or are the correct pdb files not released by Microsoft?


Microsoft released a shared-source implementation of the whole common language runtime, including mscoree.dll, but this isn't the source code that goes into the real .NET framework.

On the other hand, the source code you've obtained for System.Drawing.dll etc. is the real source code to the .NET framework, but you can't get at the runtime code this way.

Here's the download for SSCLI, otherwise known as Rotor: http://www.microsoft.com/downloads/details.aspx?FamilyId=8C09FD61-3F26-4555-AE17-3121B4F51D4D&displaylang=en

More explanation on the differences: What is the difference between SSCLI 2.0 (ROTOR) and .NET?


I think VS allows you to debug only managed libraries of the framework. If you really need to debug the unmanaged (native) code of the CLR you should use WinDBG, but this is way more complex...

0

上一篇:

下一篇:

精彩评论

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

最新问答

问答排行榜