Visual Studio 2010新功能-IntelliTrace

推荐Visual Studio 2010新功能-IntelliTrace(智能跟踪)

Visual Studio 2010 Ultimate 版本有个新功能IntelliTrace(智能跟踪),IntelliTrace被引入到Visula Studio中来加速咱们对.NET应用程序的调试,它经过对预先设置的事件和方法在运行过程当中的跟踪并将其有效地传递给调试执行者,从而快速的传递程序在执行过程当中的状态和各类信息来帮助开发者更好的调试程序,快速的发现问题。实际上,在Visual Studio 2010以前,Microsoft Visual Stuido已经帮助咱们很好的继承了调试工具,好比对变量的监控,对堆栈的查看等等,而且容许设置断点进行单步调试等。全部的这些都在很好的帮助开发者来了解程序在不一样的执行过程当中的状态以及检测是否按照预先实际的逻辑进行运转,并且更多的,咱们经过断点后监测程序状态来发现问题所在。而这样所存在的问题是,一些逻辑上的错误可能发生在断点执行以前,并且极可能是一些没法追查。开发者必须中止当前的调试,从新设置断点并启动调试,而这样的试验过程每每须要不少次才能找到正确的位置来设置断点。IntelliTrace智能的将一些调试信息和程序状态自动的跟踪并实施的展示给开发人员,从而减小了须要程序员找到适当的断点才能跟踪和监控程序运行状态的过程。html

Visual Studio提供给咱们两个方式来控制其搜集信息的内容源,一个是IntelliTrace events only,仅仅收集智能跟踪事件和调试中断的相关数据;另一个是IntelliTrace events and call information,这个就会收集除了IntelliTrace事件以外对一个方法调用的进入和退出的各类数据。下边咱们来看看在Visual Studio 2010中如何设置IntelliTrace的跟踪选项。程序员

进入到工具 --> 选项 --> IntelliTrace。它在默认状态下是启用的,可是,仅捕捉事件,由于捕捉事件是便宜的。然而,当你开始跟踪全部这些调用信息时,真正的价值开始显现出来了。你每一次调试的时候,IntelliTrace都将弹出来,你在动态调试的时候可使用这个历史性的调试工具。假如我在那里而且有一个断点,可是,我要备份和从新设计这个断点,我可使用IntelliTrace完成这个任务。数据库

使用IntelliTrace捕捉到调试进程的其余人能够把记录以及.dlls和pdbs文件发送给你,你能够重放它们的进程。这个进程也许进入到数据库(你没有这个数据库),它也许是采用你不能复制的方法设置的,它可能在你不能企及的网络上,可是,你不用担忧,由于你拥有记录以及.dlls和pdbs文件,你能够重放。网络

固然,拥有源代码会更好,由于那样你就可以看到这个代码好像是在你本身的机器上调试它同样。这对于在你的机器上运行正常,在其余人的机器不能运行的那些神秘的故障来讲是很是好的。它对于多线程的状况也是很是好的,当你通过这个应用程序的时候,这个软件瑕疵就消失了,可是,在正常速度运行时,这个软件瑕疵又出现了。多线程

image

默认状况下,IntelliTrace仅仅收集IntelliTrace相关的事件,这样是为了保持所收集的数据较少,而且对于性能上的影响是最小的。而当你选择对方法调用的数据也进行搜集时,除了其临时搜集的数据所占用空间的增大外,对于性能的影响也是较大的。尽管收集到的细节有所不一样,但两种方式都会收集一些共同的数据。好比,它总会在第一次启动收集过程时收集系统信息,模块的加载和卸载事件,线程的起始和结束时间等。随着模块和线程的事件,能够正确的更新模块和线程调试窗口的信息。另外,任何模式下,在调试断点处也会对数据进行收集,并将所收集到的基本数据类型和对象在调试其中进行检查和审阅,并容许改变其值。工具

总的说来IntelliTrace调试程序就是为程序开发者量身定制的,经过其独特的“历史调试”功能,为开发者提供了一个反悔追溯过程控制功能。好比,在开发中程序在10分钟前出现一个异常,怎么办呢,若是在之前通常是经过手动调用Debug.Write语句,如今没必要了!由于很多开发工具中的这种历史调试功能都很是类似,在VS2010 正式版 中经过IntelliTrace,不但能使程序员看到程序的当前情况,也能够检查某些状况下产生的事件,甚至还能隔离应用程序历史记录中的故障点。因此,启用历史调试以后,VS2010 正式版可以捕获调用堆栈以及相关变量,我们就能够“回退”至程序的保存前10分钟或者更长时间,检查程序发生异常、故障时的各类状况。由于,在默认状况下程序只保存关键的类型,而开发人员能够选择记录全部的参数,对象以及全局变量。因此,IntelliTrace会主动展现程序运行过程当中的关键事件,诸如代码异常、文件访问、时时调试等等。post

更好的理解使用IntelliTrace调试功能,向你推荐MSDN杂志上上的一篇文章IntelliTrace: 使用 IntelliTrace 调试应用程序,Justin Marks 演示了如何使用 Visual Studio 2010 旗舰版中提供的 IntelliTrace 功能,该功能为开发人员提供了一种强大的新调试工具来加速调试并收集应用程序的完整执行历史记录、得到更深刻的信息以及快速查找 Bug。性能

相关文章
相关标签/搜索