1:DbgView和vs output窗口:
对于我在代码中写有Debug输出的再vs调试状态下我们可以再vs输出窗口看见,打印一些我们所关心的变量数据等。当我们的程序在运行的时候就可以用DbgView获取我们的打印。
2:断点:(这个是大家所熟悉的):
Visual Studio中给我们提供了Condition,Hit Count、Filter、when Hit、Edit lab、Export集中操作,这里就不多说,大家都知道。
提出一个在多个进程调试的时候,我们可以用Filter过滤其他进程专心于一个进程中:
条件断点不仅可以调试满足条件情况,还可以调试某个表达式的值改变时。比如某个变量i,我只关心他在哪里改变,如果改变就断点停止。
3:Debugger:
为我们提供了操作系统的借口,启用与调试器的通信。具有以下几个重要方法:
1:Break:发出信号表示连接调试器的断点。
2:IsLogging:检查连接的调试器是否已启用日志记录。
3:Launch:启动调试器并将其连接到进程。
4:Log:发送连接调试器的消息。
5:IsAttached(属性):获取一个值,它指示调试器是否已连接到进程。
4:DataTips:
它提供了我们在调试时候修改变量的值。
5:异常的处理决策:
在Debug->Exception..,在这里我们可以设置异常的抛出决策。有时对于我们的已经被try catch的代码块,我需要找到异常块,就可以让va扑捉,看异常处停住。
6:Debug attribute:
Visual Studio中给我们提供了几个Attribte:DebuggerBrowsable,DebuggerDisplay等,便于我们的调试。对于我们调试复杂对象时非常有用。在院子里朱祁林老兄已经翻译了一篇Few Tips on Customizing Debugging Window View in Visual Studio的文章就是介绍这些的,所以我不准备多写了,直接原文
Visual Studio自定义调试窗体两个小技巧。
7: DebuggerVisualizers:
我们想看一个DataTable的DebuggerVisualizers:
大家一定很熟悉,其实这个是我们可以自定义的(实现Microsoft.VisualStudio.DebuggerVisualizers下的DialogDebuggerVisualizer抽象类),请参见Demonicsoft老兄的自定义Visual Studio调试窗口。在这个的启发下我们可以自定以一些常用的DebuggerVisualizers,我觉得比如我们的xml操作,在调试的时候我们希望看到该节点及其子节点的结构,比照我们的程序运行。还有比如winform或者wpf的界面绘图,在某个操作的时候我们肯希望此时就看见我们的form或者图形的绘制结果等等。
原文链接:http://www.cnblogs.com/whitewolf/archive/2010/12/13/1904115.html
【编辑推荐】