我有一个我需要分析的应用程序。我这里有源代码。我已经找到了一种使用以下代码记录方法调用的方法:
内部方法: logger.MethodTraceLog();
public void MethodTraceLog()
{
var msg = "MethodTraceLog: "
+ this.log.Logger.Name
+ " ### "
+ new StackFrame(1).GetMethod().Name ;
this.log.Debug(msg);
}
有没有办法将日志记录调用“注入”到类的每个方法中,而不必重写整个源代码。正如我所说,我可以,但这只是很多工作。一些“通过反射发布函数调用”在构造函数中,或类似的东西?
感谢您的提示...... 如果有人有一些额外的链接来分析应用程序的“行为”,我不会拒绝它:-)任何框架在那里? (除了断点和大量的F-Key击球)
答案 0 :(得分:4)
实际上,有一个名为面向方面编程(AOP)的概念和一个名为PostSharp(http://www.postsharp.org/)的c#实现,它允许您在编译后注入代码。
答案 1 :(得分:0)
我建议你做两件事:一,得到NDepend。
二,获取Visual Studio 2010 beta 1.如有必要,在VM中运行它。我相信它会从代码生成序列图,并具有其他功能来帮助理解高级代码库。除了理解之外,您不必使用它。
缺点是,我特此向您传达道歉义务,即http://connect.microsoft.com/visualstudio报告您发现的错误。
:-)
答案 2 :(得分:0)
Visual Studio Team System's Profiler tool,在检测模式下运行时,可以报告“最常调用函数”等指标
Performance Report Summary http://i.msdn.microsoft.com/aa718874.fig3(en-us).jpg
如果您的Visual Studio版本中包含此功能,您可能需要考虑使用此功能。