debug.write和Trace.write有什么区别?

时间:2009-04-11 14:55:42

标签: .net

debug.write Trace.write 有什么区别?应该何时使用?

3 个答案:

答案 0 :(得分:20)

在典型的发布版本配置中,Debug类已禁用且不执行任何操作。但是,Trace仍然可以在发布中使用。您通常会将Debug.Write用于调试时只需要的东西,而且对于生产而言过于冗长。

以下是关于Debug, Trace等的好文章:http://www.codeproject.com/KB/trace/debugtreatise.aspx

但是,我更倾向于使用 log4net 等日志库,可以动态重新配置。因此,如果您正在调查应用程序的问题,仍然可以打开完整的生产日志。

答案 1 :(得分:13)

Debug.Write仅对定义DEBUG标志的构建有效,而Trace.Write仅在定义TRACE标志时有效。

答案 2 :(得分:2)

另一个区别是, DEBUG已定义(默认情况下)仅在Debug 项目构建配置中 TRACE已定义(再次由默认)在调试和发布项目构建配置中。 (至少在VS 2015中。)

您可以更改项目属性中每个项目的默认行为。

<强>调试: enter image description here

<强>推出: enter image description here