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

时间:2009-08-21 12:05:12

标签: c# logging tracing

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

是非常累人的
Console.WriteLine("classname: methodname")

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

5 个答案:

答案 0 :(得分:5)

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

我认为是PostSharp:

Article

http://www.postsharp.org/

答案 1 :(得分:3)

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

请注意,PostSharp是一个aspect-oriented programming (AOP)框架,还有一些。

答案 2 :(得分:1)

如果log4net和log4j一样好,那么你就全部设置了

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

答案 3 :(得分:0)

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

答案 4 :(得分:0)