2014-02-07 61 views

回答

1

IntelliTrace与实时调试不同。 http://msdn.microsoft.com/en-us/library/dd264915.aspx

它没有为C++实现,因为它使用.net环境。 IntelliTrace仅在Visual Studio Ultimate(或VS2015以上版本的企业版本中可用,尽管它可能会在未来的版本中更改),上面的链接已经解释了所有功能。

实时调试和IntelliTrace之间的区别是某种“重玩性”。虽然您可以通过实时调试进行转储,但您只能获得一个时间点,而IntelliTrace允许您收集和检查应用程序的历史记录。 IntelliTrace必须进行配置,以便在应用程序运行时记录其数据。

从上面的页面复制粘贴:

传统或现场调试只显示你的应用程序与往事 有限的数据当前的状态。您必须根据应用的当前状态推断这些事件 ,否则您必须通过重新运行您的应用来重新创建这些事件 。

IntelliTrace通过 在这些时间点记录特定事件和数据扩展了这种传统调试体验。这让 你看到你的应用程序中发生了什么,而无需重新启动它,特别是如果你跳过错误的位置,那么 尤其如此。 IntelliTrace在传统调试期间默认打开 ,并自动收集数据, 隐藏。这使您可以在传统调试 和IntelliTrace调试之间轻松切换以查看记录的信息。请参阅记录 使用IntelliTrace进行代码执行以在Visual Studio中进行调试以及 IntelliTrace收集什么数据?

小故事:在Visual Studio团队试图尽可能多的功能推向更低的版本,尽可能使他们能够更多的人访问,但在什么版本是由营销部门决定哪些功能是可用的。

1

对于实时调试,目标应用程序暂停,调试器可以观察(有时修改)整个目标进程。

IntelliTrace,因为它的名称建议可以理解为“智能跟踪”,某些被认为有价值的信息被记录到日志文件(.itrace文件)中。您可以保存并在另一台机器上稍后的时间点打开日志文件。记录的信息包括应用程序的进程,线程,模块,IntelliTrace事件以及基于用户配置的函数调用。对于每个事件和函数调用,还会记录具有选定参数值的调用堆栈。

Visual Studio需要一些用户界面才能查看此日志,而调试器用户界面几乎拥有一切。这并不准确,但通常您可以将“IntelliTrace调试”理解为使用调试器UI查看跟踪日志。大多数调试器窗口(进程,线程,调用堆栈,本地,模块等)按预期工作,但它们只是显示目标应用程序历史中发生的事件或函数调用。用户只能观察,但不能修改目标应用程序。