为了账号安全,请及时绑定邮箱和手机立即绑定

Debug和Trace有什么区别?

Debug和Trace有什么区别?

白猪掌柜的 2018-11-21 05:02:28
我们在调试的时候可以写入一些东西到这两处地方,但是怎么看呢,有什么区别吗?
查看完整描述

2 回答

?
LEATH

TA贡献1936条经验 获得超6个赞

Debug只在debug状态下会输出,Trace在release下也会输出,在release下Debug的内容会消失

查看完整回答
反对 回复 2018-11-22
?
慕运维8079593

TA贡献1876条经验 获得超5个赞

Debug类提供一组帮助调试代码的方法和属性。Trace类提供一组帮助跟踪代码执行的方法和属性,通俗的说就是为在不打断程序的调试或跟踪下,用来记录程序执行的过程。两个类都是密封类,不能被继承。 Debug类的例子(代码A): TextWriterTraceListener myListener=new TextWriterTraceListener(“F:""DebugLog.txt”); Debug.Listeners.Add(myListener); Debug.WriteLine("这是调试"); Debug.Flush(); Listener.Flush(); Trace类的例子(代码B): TextWriterTraceListener myListener=new TextWriterTraceListener("F:""TraceLog.txt"); Trace.Listeners.Add(Listener); Trace.WriteLine("这是跟踪"); Trace.Flush(); Listener.Flush(); 这两个类有什么区别呢? 我们可以通过选择项目的调试方式为“Debug”: 用代码A测试,会发现F:"DebugLog.txt中有内容,为“这是调试”,如果用代码B测试,会发现F:"TraceLog.txt中有内容,为“这是跟踪”。 我们也可以通过选择项目的调试方式为“Release”: 同样用A,B两段代码测试,会发现,F:"DebugLog.txt中是没有内容的,但F:"TraceLog.txt中还是“这是跟踪”的文字。这里说明了一点,Debug类的内容输出,只在Debug模式下生成的exe中起作用,如果改成Release模式下生成的exe,就失去了作用,Trace类则都起作用 用代码A测试,会发现F:"DebugLog.txt中有内容,为“这是调试”,如果用代码B测试,会发现F:"TraceLog.txt中有内容,为“这是跟踪”。 现在,我们设置程序为发布方式,如下图所示 同样用A,B两段代码测试,会发现,F:"DebugLog.txt中是没有内容的,但F:"TraceLog.txt中还是“这是跟踪”的文字。这里说明了一点,Debug类的内容输出,只在Debug模式下生成的exe中起作用,如果改成Release模式下生成的exe,就失去了作用,Trace类则都起作用

查看完整回答
反对 回复 2018-11-22
  • 2 回答
  • 0 关注
  • 408 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信