我有一个我需要吞下的异常(记录期间的异常),但是我不希望异常信息完全丢失在时间的迷雾中,所以我想我至少可以输出它来调试使用
Debug.Write(ex.ToString());
这样,如果需要支持,至少可以在有问题的机器上使用 DebugView。
问题是在发布模式下删除了 Debug 类 - 如何在发布模式下输出要调试的内容?
我有一个我需要吞下的异常(记录期间的异常),但是我不希望异常信息完全丢失在时间的迷雾中,所以我想我至少可以输出它来调试使用
Debug.Write(ex.ToString());
这样,如果需要支持,至少可以在有问题的机器上使用 DebugView。
问题是在发布模式下删除了 Debug 类 - 如何在发布模式下输出要调试的内容?
只需使用
Trace.Write(ex.ToString());
这与发布模式下的作用相同,Debug.Write(ex.ToString());
但不会被删除(只要您没有在项目设置中删除 TRACE 常量的定义)
也许值得研究一些日志框架。我更喜欢 log4net,其中您有不同的日志记录级别(DEBUG、INFO、WARN、ERROR)、不同的记录器(您可以为应用程序的每个重要部分放置一个记录器),并且您可以为不同的记录器设置不同的调试级别,只需更改配置文件。因此,如果您在代码的某些区域遇到问题,您可以为该记录器设置 DEBUG 级别,完成后您可以将原始级别放回原处。
这只是皮毛,还有更多功能,例如发送错误电子邮件或登录到数据库。