IntelliTrace
使用 IntelliTrace 调试应用程序
Justin Marks
下载代码示例
用户如何修复他们的代码中的 Bug?您设置一些断点、在调试器下运行程序、进行一点单步调试 – 并祈求能够轻而易举地发现问题,这样您就能继续处理其他事情。
几乎自 ENIAC 发明以来,我们就一直在进行着同样方式的调试。这种繁琐而耗时的调试方法为我们提供了很好的帮助,但是时候使调试更加轻松了。随着 Visual Studio 2010 Ultimate 的发布,新的 IntelliTrace 功能使开发人员能够更深入地了解应用程序的执行情况,从而使调试进入了 21 世纪。
与其他监视和跟踪工具(例如 Windows Sysinternals 中的 Process Monitor)非常类似,Visual Studio 2010 在应用程序执行时收集有关应用程序的数据,来帮助开发人员诊断错误。收集的数据称为 IntelliTrace 事件。这些事件将在默认调试过程中收集,此外,它们使开发人员能够进行回溯以查看应用程序中发生的情形,而不必重新启动调试器。
在本文中,我将向您介绍 IntelliTrace,并演示它如何在开发人员的日常开发活动中体现出价值。我将演示 IntelliTrace 如何提供在应用程序执行过程中所发生事件的时间线,以及开发人员如何能够使用这些事件来帮助调试。接着,我将论述一些设置,开发人员可以更改这些设置来收集有关应用程序的一组更深层的信息,从而获得完整的执行历史记录。最后,我将演示如何使用其他人(测试人员)创建的以前记录的 IntelliTrace 文件来调试应用程序,而不必运行应用程序来重现错误。
当 Visual Studio 诊断团队开始规划 Visual Studio 2010 时,我们花费了很多时间与客户讨论,了解客户如何诊断其应用程序中的问题。尽管每个人都有不同的方式和喜欢使用的工具集,但有一点是绝对清楚的:传统的应用程序问题诊断方法困难、耗时而且成本高昂。开发人员收到的 Bug 报告几乎从没有任何用于重现问题的步骤,并且大部分都是由像“我正在使用程序,突然间程序崩溃了”这样的语句组成。即使在极个别的情况下提供了有效的重现步骤,也可能会在特定的环境中出现 Bug,而这又会导致出现一组需要解决的全新问题。而且,Bug 通常是由于误解了框架或其他代码的运行方式而导致的。
考虑到这些难题,我们着手创建了一个新的调试器功能,用于在问题发生时收集到正确的信息。我们的目标是为开发人员提供准确的重现步骤和系统环境设置,以及公开他们所使用的框架和代码的行为,从而大幅提高可诊断性。随着 Visual Studio 2010 Ultimate 的发布,IntelliTrace 使开发人员能够更深入地了解应用程序和框架行为,并能够打开由测试人员收集的 IntelliTrace 文件来解决“无法重现”的情况,从而大大改善了调试体验。
IntelliTrace 简介
当开发人员需要更深入地了解代码执行情况时,IntelliTrace 提供了一种“加速调试”的方式来收集应用程序的完整执行历史记录。
为了阐释这一点,我将使用 Tailspin Toys 演示应用程序来演示 IntelliTrace 可收集的信息类型
visualstudio调试技巧 来自淘豆网m.daumloan.com转载请标明出处.