配置 IntelliTrace 以收集调试信息

你可以控制在更改 IntelliTrace 收集设置后在 Visual Studio Ultimate 中使用 IntelliTrace 进行调试时显示的信息量。 这些设置适用于所有项目和解决方案,并且它们可以在调试会话和 Visual Studio 会话之间持续存在。

  • 配置事件收集

  • 配置函数调用收集

  • 配置模块收集

配置事件收集

您可以启用或禁用特定 IntelliTrace 事件的收集(始终收集的调试器事件和异常除外)。 IntelliTrace 事件是调试器事件、异常、.NET Framework 事件以及可帮助使用调试的其他系统事件。 请参阅通过使用 IntelliTrace 记录代码执行来调试应用

  1. 在 Visual Studio Ultimate 中,确认已启用 IntelliTrace。

    在 Visual Studio 中启用或禁用 IntelliTrace

    备注

    清除“启用 IntelliTrace”将禁用所有自定义设置。

  2. 选择要收集的事件和事件类别。

    配置 IntelliTrace 事件集合

  3. 如有必要,请重新启动调试会话。 若要使用 IntelliTrace 开始调试,请参阅调试时使用 IntelliTrace 记录代码执行

IntelliTrace 为 IntelliTrace 事件收集哪些数据?

  • 调试器事件

    为了帮助提高性能,IntelliTrace 不记录调试器事件的每个可能的值, 而是记录以下值:

    • **“局部变量”窗口中的值。 请将“局部变量”**窗口保持打开状态以查看这些值。

    • **“自动”窗口中的值(仅当“自动”**窗口处于打开状态时)

    • 在将鼠标指针移到源窗口中的变量的上方以查看其值时显示的数据提示中的值。 IntelliTrace 不收集固定数据提示中的值。

  • 异常

    IntelliTrace 会记录异常类型和以下各类异常的消息:

    • 已处理的异常(已引发并捕获异常)

    • 未经处理的异常

  • .NET Framework 事件

    默认情况下,IntelliTrace 记录最常见的 .NET Framework 事件。 例如:

    • 对于“文件访问”事件,IntelliTrace 将收集文件名。

    • 对于“选中复选框”事件,IntelliTrace 将收集复选框状态和文本。

配置函数调用收集

当启用调用收集时,可以从传统调试转换到 IntelliTrace 调试,以便能逐步执行代码并查看调用堆栈历史记录。 为此,请在启动调试会话之前启用调用收集。 请参阅通过使用 IntelliTrace 记录代码执行来调试应用

  1. 在 Visual Studio Ultimate 中,启用或禁用**“IntelliTrace 事件和调用信息”**。

    为 IntelliTrace 配置调用集合

  2. 如有必要,请重新启动调试会话。 若要使用 IntelliTrace 开始调试,请参阅调试时使用 IntelliTrace 记录代码执行

备注

启用调用收集可能会大大减慢应用程序的运行速度。它还可能增加您保存到磁盘的任何 IntelliTrace 日志文件(.iTrace 文件)的大小。若要最大程度地减小这些影响,可仅收集您关注的模块的调用信息。若要更改 .iTrace 文件的最大大小,请转到“工具”“选项”“IntelliTrace”“高级”

IntelliTrace 为函数调用收集哪些数据?

对于每个函数调用,IntelliTrace 将记录此数据:

  • 函数名

  • 在函数入口点作为参数传递并在函数退出点返回的基元数据类型的值

  • 读取或更改自动属性时该属性的值

  • 指向第一级子对象的指针,而不是它们的值,除非它们为 null

备注

IntelliTrace 仅收集数组中的前 256 个对象和字符串的前 256 个字符。

配置模块收集

若要控制 IntelliTrace 收集的调用信息量,请仅指定您关注的模块。 这有助于提高应用程序在收集期间的性能。 若要确认 IntelliTrace 正在收集调用信息,请转到**“工具”“选项”**、 “IntelliTrace”“常规”

提示

您也可以排除模块,但这仍会导致从您不感兴趣的模块(如第三方模块或开放源代码模块)中收集数据。

  1. 在 Visual Studio Ultimate 中,为收集指定要包含或排除的模块。

    若要添加多个模块,请在字符串的开头或结尾使用通配符 *。 对于模块名称,请使用文件名,而不是程序集名称。 不接受文件路径。

    为 IntelliTrace 配置模块集合

  2. 若要使用 IntelliTrace 开始调试,请参阅调试时使用 IntelliTrace 记录代码执行

可从何处获取更多信息?

通过使用 IntelliTrace 记录代码执行来调试应用

调试时使用 IntelliTrace 记录代码执行

通过使用 IntelliTrace 独立收集器来收集生成的诊断数据

博客

Visual Studio ALM + Team Foundation Server

论坛

Visual Studio 调试器

指导

使用 Visual Studio 2012 测试连续交付 - 第 6 章:测试工具箱

视频

第 9 频道:收集和分析 IntelliTrace 数据