将所有函数调用记录到控制台

我经常会通过将每个函数调用记录到控制台并查找错误情况中的差异来开始调试类。 是否有一些属性可以应用于类以启用此类跟踪? 必须进入这些是非常累人的

Console.WriteLine("classname: methodname") 

到每个方法并在之后删除它们(删除可以通过条件编译来完成,但是当你拥有所有这些冗余时查看代码并不是很好)

有人使用Attributes向我提到了一个附加工具。 让我们看看能否找到它。

我认为这是PostSharp:

文章

http://www.postsharp.org/

您可以使用PostSharp拦截所有方法调用并使用所有参数进行打印,并且不需要更改源代码。 此CodeProject文章显示了如何使用PostSharp进行日志记录。

需要注意的是,PostSharp是一个面向方面的编程(AOP)框架,还有更多。

如果log4net和log4j一样好,那么你就完成了

http://logging.apache.org/log4net//index.html

在软件工程的昏暗黑暗时代,人们常常使用分析工具来实现这一目标,因为分析在所有函数的进入和退出时都会注入额外的代码,尽管我必须说这是一种非常令人沮丧的调试方法,当我使用它时,这是绝望的举动而不是前线。 通过print语句进行调试相当慢且无效。