调试.NET内部内容的过程

时间:2010-02-04 18:34:16

标签: .net debugging

当他们试图了解.NET的内容时,我想知道人们的过程。让我举一个具体的例子来澄清。

最近,我们发现我们在.NET网站上使用的StateServer出现了错误。有时它开始抛出错误,我们的网站变得疯狂。 StackTrace揭示了这种情况发生在:

System.Web.SessionState.SessionStateModule.BeginAcquireState() 

被调用。有没有更好的方法来了解更多关于SessionStateModule,BeginAcquireState以及那里发生了什么? MSDN似乎没有关于此方法的任何内容。

我不仅要解决这个问题,而且更一般地要了解这个过程以及发生了什么。其他人发现哪些步骤有帮助(我将测试过程,看看它对我提到的特定错误有多大帮助:-))

5 个答案:

答案 0 :(得分:3)

我经常会抓住.NET Reflector,只看一下有问题的课程。

如果这还不够,您也可以{MS参考许可证下的get the .NET Source code。这使您可以直接调试框架。

答案 1 :(得分:2)

Reflector可能有用。

此外,如果您对每个方法调用所涉及的堆栈跟踪和性能感到好奇,可以使用ANTS Profiler

答案 2 :(得分:1)

如果您只想查看它的作用,而不需要在调试器中实际执行它,那么您需要Reflector

这将查看已编译程序集的IL并将其作为源代码重新组合在一起作为C#(或VB.NET或其他各种.NET语言,如果您真的想要...)。

答案 3 :(得分:1)

当然可以。在Reflector中打开DLL并查看: - )

http://www.red-gate.com/products/reflector/

你可以确切地看到框架中的内幕。

答案 4 :(得分:1)

此类的源代码(带注释)可从参考源获得。我从来没有幸运能让源服务器可靠地运行,我强烈建议NetMassDownloader来获取它。半小时的保姆和你的设置。请务必阅读his blog中的John Robbins的使用说明。