【问题标题】:Write to Debug in release mode在发布模式下写入调试
【发布时间】:2010-11-17 07:03:37
【问题描述】:

我有一个我需要吞下的异常(记录期间的异常),但是我不希望异常信息完全丢失在时间的迷雾中,所以我想我至少可以将它输出到调试使用

Debug.Write(ex.ToString());

这样如果有必要支持至少可以在有问题的机器上使用DebugView。

问题是 Debug 类在发布模式下被删除 - 如何在发布模式下输出要调试的内容?

【问题讨论】:

    标签: c# exception-handling debugging release


    【解决方案1】:

    简单地使用

    Trace.Write(ex.ToString());
    

    这与Debug.Write(ex.ToString()); 的作用相同,但在发布模式下不会被删除(只要您没有在项目设置中删除 TRACE 常量的定义)

    【讨论】:

    • 记得在大约 14 天后轮换您的日志文件,以避免填满硬盘。
    【解决方案2】:

    也许值得研究一些日志框架。我更喜欢 log4net,其中您有不同的日志记录级别(DEBUG、INFO、WARN、ERROR)、不同的记录器(您可以为应用程序的每个重要部分放置一个记录器),并且您可以为不同的记录器设置不同的调试级别,只需更改配置文件。因此,如果您在代码的某些区域遇到问题,您可以为该记录器设置 DEBUG 级别,完成后您可以将原始级别放回原处。

    这只是皮毛,还有更多功能,例如发送错误电子邮件或登录数据库。

    【讨论】:

      猜你喜欢
      • 2014-02-18
      • 2011-09-02
      • 2012-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多