2012-10-20 95 views
17

我正试图在我们的一个应用程序中编写更好的错误处理和调试逻辑。有人可以解释Debug和Trace类之间的区别吗?文档看起来很相似。我想与NLog一起使用这些类来改进我们的调试工作。Debug类和Trace类有什么区别?

+1

关于此问题的另一个对话http://stackoverflow.com/questions/179868/trace-vs-debug-in-net-bcl –

回答

3

在调试期间使用调试。跟踪正在写入日志文件。这有点像伐木。两者都非常相似,但要追踪长期保留,调试以进行实时调试。

16

DebugTrace类有非常相似的方法。主要区别在于对Debug类的调用通常仅包含在Debug build中,并且Trace包含在所有版本(Debug和Release)中。你可以通过编译器标志DEBUG和TRACE来控制它。如果您查看两者的文档,您会注意到注释方法的ConditionalAttribute。这会导致方法调用仅在定义适当的编译器标志时才会包含在二进制文件中。您可以定义自己的编译器标志,并以类似的方式将它与ConditionalAttribute一起使用。请注意,如果您使用此方法,则不会从编译的二进制文件中删除这些方法。呼叫站点被修改以删除方法调用。

相关问题