Live和IntelliTrace调试之间的差异是什么?

What is the diffrence between Live and IntelliTrace Debugging ?

本文关键字:是什么 之间 IntelliTrace 调试 Live      更新时间:2023-10-16

LIVE和IntelliTrace调试之间是否有区别?

以及为什么我在编码C 时无法使用IntelliTrace?如果在编码C 时有一种使用方法,我该如何调整它?

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

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

Visual Studio需要一些UI来查看此日志,并且Debugger UI几乎拥有所有内容。它并不精确,但是您通常可以将" IntelliTrace调试"视为使用Debugger UI查看跟踪日志。大多数调试器Windows(过程,线程,呼叫堆栈,当地人,模块等)都可以按预期工作,但是它们所做的不过是显示目标应用程序历史记录中发生的事件或功能调用。用户只能观察但不能修改目标应用程序。

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

使用.NET环境,它未针对C 实现。IntelliTrace仅在Visual Studio Ultimate(或VS2015起企业)中可用,尽管它可能会在未来版本中发生变化),并且上面的链接已经解释了所有功能。

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

从上面的页面复制粘贴:

传统或现场调试仅显示您的应用的当前状态 关于过去事件的数据有限。您要么必须推断这些事件 根据应用程序的当前状态,或者您必须重新创建这些事件 通过重新设计您的应用程序。

IntelliTrace通过 在这些时间点记录特定事件和数据。这让 您会看到应用程序中发生的情况而不重新启动,尤其是在 您走过错误所在的位置。IntelliTrace默认打开 在传统调试期间,并自动收集数据 看不见。这使您可以在传统调试之间轻松切换 和IntelliTrace调试以查看记录的信息。请参阅记录 使用IntelliTrace执行代码,用于在Visual Studio和 IntelliTrace收集了哪些数据?

小型轶事:Visual Studio团队试图将尽可能多的功能推向较低版本,以使更多人可以访问它们,但是市场部决定了哪些功能。