2010-02-04 58 views
0

当我想知道人们在尝试了解.NET的胆量时的过程。让我举一个具体的例子来澄清。用于调试.NET内胆的过程

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

System.Web.SessionState.SessionStateModule.BeginAcquireState() 

被调用。有没有更好地了解SessionStateModule,BeginAcquireState和其中发生了什么的好方法? MSDN似乎没有关于此方法的任何内容。

我想不仅要解决问题,而且要更普遍地了解过程和发生的情况。其他人发现哪些步骤有帮助(我将测试该过程以查看它对我提到的特定错误有多大帮助:-))

回答

3

我经常会抓住.NET Reflector,看看有问题的班级。

如果这还不够,您还可以根据(MS Reference License)get the .NET Source code。这可以让你直接调试框架。

1

如果您只是想查看它的功能,并且不需要实际在调试器中逐步完成,然后您需要Reflector

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

2

Reflector可能是有用的。

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

1

该类的源代码和注释可从参考源获得。我从来没有运气让源服务器可靠地工作,我强烈建议NetMassDownloader来得到它。半小时的保姆,你就定了。请务必阅读约翰罗宾斯的使用说明his blog