visual studio2010调试技巧.docVIP

  • 28
  • 0
  • 约9.6千字
  • 约 13页
  • 2017-02-28 发布于湖北
  • 举报
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 可收集的信息类型。首先,我将在 Visual Studio 中打开解决方案并启动调试。当网站启动时,我将导航到“关于我们”页,并收到来自服务器的错误。如何才能诊断问题?如果您像我一样,则您首先想到的是配置 web.config 文件以不显示自定义错误,然后重新启动调试器。但如果此问题是间歇性的,又将如何呢?如果您可以在错误发生后就在此时进入进程,并从 Visual Studio 中获得应用程序中所发生情形的历史记录,是不是很好? 当您进行调试时,IntelliTrace 将在后台收集有关托管应用程序的数据,其中包括来自许多框架组件(例如 ADO.NET、ASP.NET 和 System.XML)的信息。这些 IntelliTrace 事件使开发人员能够查看先前在执行过程中发生的情况,并且最重要的是,能够进行“回溯”以查看应用程序的先前状态,而不必重新启动调试器。当我进入调试器时,我立即看到了按顺序列出的以前收集的 IntelliTrace 事件(请参见图 1)。 图 1?IntelliTrace 收集的诊断信息 正如您可从图 1?中看到的,IntelliTrace 事件的列表不仅仅局限于您在 Process Monitor 中看到的文件和注册表访问。我们为 Visual Studio 2010 定义了将近 150 个 IntelliTrace 事件,并计划随着时间的推移用其他事件扩充此列表。图 2?重点列出了一些 Int

文档评论(0)

1亿VIP精品文档

相关文档