代码改变世界

VS调试Tip集结

2010-12-13 09:21  破狼  阅读(3020)  评论(18编辑  收藏  举报

          在VSX群里陈锋,录制了几个调试的视频,感觉挺有用的。调试其实大家都知道怎么去做。但是不一定对我开发IDE给我提供的快捷方式全部了解。在这里我对这些做一些集结,这里也不是很全,希望大家在后面补上,让楼主也张张见识,哈哈。

       1:DbgView和vs output窗口:

        对于我在代码中写有Debug输出的再vs调试状态下我们可以再vs输出窗口看见,打印一些我们所关心的变量数据等。当我们的程序在运行的时候就可以用DbgView获取我们的打印。

      2:断点:(这个是大家所熟悉的):

        vs中给我们提供了Condition,Hit Count、Filter、when Hit、Edit lab、Export集中操作,这里就不多说,大家都知道。

        提出一个在多个进程调试的时候,我们可以用Filter过滤其他进程专心于一个进程中:

image

条件断点不仅可以调试满足条件情况,还可以调试某个表达式的值改变时。比如某个变量i,我只关心他在哪里改变,如果改变就断点停止。

image

    3:Debugger:

       为我们提供了操作系统的借口,启用与调试器的通信。具有以下几个重要方法:

       1:Break:发出信号表示连接调试器的断点。

       2:IsLogging:检查连接的调试器是否已启用日志记录。

       3:Launch:启动调试器并将其连接到进程。

       4:Log:发送连接调试器的消息。

       5:IsAttached(属性):获取一个值,它指示调试器是否已连接到进程。

     4:DataTips:

         image

       它提供了我们在调试时候修改变量的值。

     5:异常的处理决策:

 

  image

  在Debug->Exception..,在这里我们可以设置异常的抛出决策。有时对于我们的已经被try catch的代码块,我需要找到异常块,就可以让va扑捉,看异常处停住。

    6:Debug attribute:

    vs中给我们提供了几个Attribte:DebuggerBrowsable,DebuggerDisplay等,便于我们的调试。对于我们调试复杂对象时非常有用。在院子里朱祁林老兄已经翻译了一篇Few Tips on Customizing Debugging Window View in Visual Studio的文章就是介绍这些的,所以我不准备多写了,直接原文

Visual Studio自定义调试窗体两个小技巧

7: DebuggerVisualizers:

我们想看一个DataTable的DebuggerVisualizers:

 image

image 

  大家一定很熟悉,其实这个是我们可以自定义的(实现Microsoft.VisualStudio.DebuggerVisualizers下的DialogDebuggerVisualizer抽象类),请参见Demonicsoft老兄的自定义Visual Studio调试窗口。在这个的启发下我们可以自定以一些常用的DebuggerVisualizers,我觉得比如我们的xml操作,在调试的时候我们希望看到该节点及其子节点的结构,比照我们的程序运行。还有比如winform或者wpf的界面绘图,在某个操作的时候我们肯希望此时就看见我们的form或者图形的绘制结果等等。

   最后贴上视频下载http://fengchen.wordpress.com.cn/2010/11/17/netappdbgsumup/,希望大家也多顶顶  。在本随笔中未曾提到的Tips,希望大家也提出来。