21

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

4

2 回答 2

18

DebugTrace类有非常相似的方法。主要区别在于对Debug类的调用通常仅包含在 Debug 构建中,而 Trace 包含在所有构建(调试和发布)中。您可以通过编译器标志 DEBUG 和 TRACE 来控制它。如果您查看两者的文档,您会注意到ConditionalAttribute注释方法。这会导致方法调用仅在定义了适当的编译器标志时才包含在二进制文件中。您可以定义自己的编译器标志并ConditionalAttribute以类似的方式将其与 结合使用。请注意,如果您使用它,这些方法不会从已编译的二进制文件中删除。调用站点被修改以删除方法调用。

于 2012-10-20T06:49:09.420 回答
8

调试期间使用调试。Trace 正在写入日志文件。这有点像日志记录。两者都非常相似,但是为了长期保留而进行跟踪,为了实时调试而进行调试。

于 2012-10-20T04:53:51.720 回答