Trace和Debug的使用原因和他们的使用方法Trace,Debug

解决方案 »

  1.   

    Debug类里所提供的函数仅在编译时带#Debug宏参数才奏效,一旦到了Release版本中,这些函数都会被忽略。也就是说Debug类的功能仅在程序员开发的时候能用。而Trace则不同,它能在Release版本的程序中也被运行
     
      

  2.   

    调试程序最基本的思路和方法就是“想办法把看不见的过程和数据变成看的见的过程和数据”基于这条最基本的思路和方法,你就知道Trace和Debug其啥作用了。
    当然下断点跟也是一条路,不过断点主要作用是监控当时的数据和对象信息,当然单步跟踪可以看到执行流程,只是当各种跳转各种调用以后,一般7,8个跳转以后脑袋就乱了,不知道到底从那走进来滴了而trace和debug是显示一个执行流程,他能把整个执行流程当日志展现出来
      

  3.   

    有的数据不需要显示出来,为了检查方便就用Trace和Debug,是吗?但是过程怎么才能看见啊?
      

  4.   

    比如上午有个同事在问我,他的一个多播委托到底是怎么执行的,执行顺序是什么我说你在每个委托方法里加上一个trace 运行一下就知道执行顺序是啥子了在比如asp.net webform里有个著名的页面生存期问题,那东西到底怎么执行的,到底谁先谁后?怎么最直观的看出来,打开asp.net webform 的trace(虽然这里的trace使用方法和winform不太一样,不过功能思想是一样的)在代码写几句trace,立马就能看清楚webfrom的页面生存期的到底是怎么个执行过程了
      

  5.   

    当然Debug在使用上则有另外一层含义,就是断言编程断言编程思想是,你需要保证你认为不可能发生的事情绝对不会发生。
    那么我们就会使用debug下断言,比如我断言这个int a 绝对不会小于0,那么一旦发生小于0的情况则会在输入台看见他不满足条件了,这时候你就要修改你的代码,让红灯变绿灯了。这种手段在单元测试人员的手上经常使用,他们的工作基本就是基于debug断言为核心的