2009-12-23 133 views
1

我想知道是否有工具,或者是否有编程方法来映射Web应用程序的执行?C#动态代码分析

要澄清,我工作的公司开发的CRM产品是基于动态加载ASCX控件逐页的基础上的概念。

我希望看到的是从请求开始到页面呈现,查看哪些类被实例化以及哪些方法被输入的映射;看到传递的论据也会很好。

我心里知道我们有一些严重的圈复杂性问题,我希望能够生成一个图表或我可以放在我的开发经理的前面并在这里说 - 现在请让我修复它!

我已经看到了用于反射器的Code metrics插件,当然还有NDepend,但是我需要一些附加到实时进程的东西,即使我需要使用属性进行修饰。 这样我可以看到不同的执行取决于哪些页面和哪些模块加载。

我会很感激任何意见!

回答

3

原来那PostSharp是这个问题最合适的。 这是一个默认的例子,在这个庞大的程序集中为每个方法编织一个Trace,给了我之后的输出。

感谢大家对他们的投入,虽然从最后一次尝试后至少看到蚂蚁已经长大了很多,它似乎现在拿起我们动态加载的用户控件!

0

您是否正在为此目的进行调试?您可以打开内置跟踪,在aspx(或web.config中,对于整个应用程序)的@Page声明中添加trace="true",然后在加载页面时查看此详细信息。

+0

跟踪告诉你哪些控件被加载,但它不会跟踪方法调用和参数值(除非Russ很乐意在每个函数的开始处放一个Trace.Write(.. function + params ..)) – 2009-12-23 11:21:08

+0

这可能会证明触摸尴尬,但它确实提供了一些可能有用的信息。 – 2009-12-23 11:26:37

1

尝试使用AntsProfiler

+0

几年前我尝试过蚂蚁,但它不会深入到由LoadControl加载的ASCX控件背后的代码(...) 不能伤害再试一次,但桥下的水很多自那以后。 – 2009-12-23 11:11:00