在Visual Stuido 2010中有一个新的功能那就是IntelliTrace.IntelliTrace被引入到Visula Studio中来加速我们对.NET应用程序的调试,它通过对预先设置的事件和方法在运行过程中的跟踪并将其有效地传递给调试执行者,从而快速的传递程序在执行过程中的状态和各种信息来帮助开发者更好的调试程序,快速的发现问题。实际上,在Visual Studio 2010之前,Microsoft Visual Stuido已经帮助我们很好的继承了调试工具,比如对变量的监控,对堆栈的查看等等,并且允许设置断点进行单步调试等。所有的这些都在很好的帮助开发者来了解程序在不同的执行过程中的状态以及检测是否按照预先实际的逻辑进行运转,而且更多的,我们通过断点后监测程序状态来发现问题所在。而这样所存在的问题是,一些逻辑上的错误可能发生在断点执行之前,而且很可能是一些无法追查。开发者必须停止当前的调试,重新设置断点并启动调试,而这样的试验过程往往需要很多次才能找到正确的位置来设置断点。
IntelliTrace都收集哪些数据?
那么IntelliTrace带给我们了什么?顾名思义,它智能的将一些调试信息和程序状态自动的跟踪并实施的展现给开发人员,从而减少了需要程序员找到适当的断点才能跟踪和监控程序运行状态的过程。那么这些信息到底有什么用呢?IntelliTrace又到底搜集了哪些数据呢?这取决于我们通知 IntelliTrace进行收集的数据类型和对其大小的控制,这样IntelliTrace会按照我们期望的方式去收集部分数据而不是所有在即时调试过程中的程序状态信息。Visual Studio提供给我们两个方式来控制其搜集信息的内容源,一个是IntelliTrace events only,仅仅收集智能跟踪事件和调试中断的相关数据;另外一个是IntelliTrace events and call information,这个就会收集除了IntelliTrace事件之外对一个方法调用的进入和退出的各种数据。下边我们来看看在Visual Studio 2010中如何设置IntelliTrace的跟踪选项。
首先我们需要检查IntelliTrace功能在Visual Stuido 2010中是打开的。在Visual Studio 2010中选择”Tools | Options…”打开选项对话框,并选择”IntelliTrace | General”. 确保Enable IntelliTrace是被选中的。
Figure 1: Visual Studio 2010 IntelliTrace settings.