11
A
回答
15
两者均使用[Conditional]
属性进行条件编译。
如果在构建中定义了TRACE
标志,则调用Trace
类将导致写入跟踪输出。默认情况下,TRACE
在调试和发布模式下均已定义。如果标志没有定义,则不会发生任何事情。
如果定义了DEBUG
标志,则调用Debug
类将导致输出写入调试流。默认情况下,DEBUG
仅在调试模式下定义。
另一个主要的区别是跟踪很容易定制trace listeners并稍后决定您想要如何处理跟踪输出。它比调试输出更灵活,通常更适合登录生产应用程序。
2
区别在于发布模式。
DEBUG符号未定义时,即在发布模式下编译时,Debug.Write不会编译到代码中。
但是,Trace.Write将在Debug模式和Release模式下编译。
4
相关问题
- 1. SerializationException仅在发布模式下发生
- 2. Trace.WriteLine在ASP.NET天青
- 3. 调试模式或发布模式
- 4. 发布模式中的IoCResolveException
- 5. 带TextWriterTraceListener的Trace.WriteLine()最终会停止在已发布的ASP.NET网站上工作
- 6. 在发布模式下捕获NSLog
- 7. 动画无法在发布模式
- 8. InflateException只是在发布模式
- 9. 在发布模式下调试符号
- 10. JAXB模式在哪里发布?
- 11. NLog在发布模式下IIS7失败
- 12. 在发布模式下启用_CrtDumpMemoryLeaks()
- 13. MvxException在Android的发布模式
- 14. rapidJson:在发布模式下崩溃
- 15. Qmake在发布和调试模式
- 16. 布尔值在调试模式下比在发布模式下有所不同
- 17. 在调试模式和发布模式下部署
- 18. 在发布模式/调试模式下双精度的差异
- 19. 在Android上区分开发模式和发布模式环境设置
- 20. Asp.net MVC3发布调试与发布模式似乎倒退
- 21. 定时发布模式中的“立即发布”
- 22. git发布管理模式:始终从主分支发布?
- 23. 以调试或发布模式发布到Windows Azure
- 24. 仅在发布模式下发生错误
- 25. 如何在发布模式下强制CMAKE构建SWIG模块
- 26. 在发布模式下模拟设备位置
- 27. Windows QueueUserWorkItem C++发布模式问题
- 28. 调解员模式与发布/订阅
- 29. iPhone应用发布模式问题
- 30. 发布模式vs调试=“false”
因此,如果跟踪标志是默认定义,是有办法在发布或调试模式下取消设置? – Carlo 2010-02-19 02:17:17
@Carlo:当然,它在项目属性Build选项卡中。有两个复选框,一个表示“定义DEBUG常量”,另一个表示“定义TRACE常量”。这些对应于'Debug'和'Trace'类以及它们相应的'Write'方法的行为方式。 – Aaronaught 2010-02-19 02:36:32
太棒了!谢谢,很好的回答! – Carlo 2010-02-19 02:39:04