如何:收集 IntelliTrace 数据以帮助调试难题

使用 Microsoft 测试管理器 或Visual Studio中,可以为IntelliTrace配置诊断数据适配器以收集特定诊断跟踪信息。 测试可使用此适配器,测试可以收集开发人员以后使用通过代码跟踪查找bug的原因的应用程序的重要诊断事件。 IntelliTrace 的诊断数据适配器既可用于手动测试,也可用于自动测试。

备注

IntelliTrace 只可用于使用托管代码编写的应用程序。如果您正在测试将浏览器用作客户端的 Web 应用程序,则不应该在测试设置中为客户端启用 IntelliTrace,因为没有可用于跟踪的托管代码。在此情况下,您可能需要设置环境并在您的 Web 服务器上远程收集 IntelliTrace 数据。有关环境的更多信息,请参见设置测试计算机以运行测试或收集数据

IntelliTrace 数据存储在扩展名为 .iTrace 的文件中。 运行测试时如果某个测试步骤未通过,则可以创建一个 Bug。 包含诊断信息的 IntelliTrace 文件会自动附加到此 Bug 中。

备注

IntelliTrace 的诊断数据适配器在成功通过测试时未创建 IntelliTrace 文件。它只对未通过的测试用例保存文件,或者只有当您提交 Bug 时,它才会保存文件。

IntelliTrace 文件中收集的数据可减少重现和诊断代码中的错误所需的时间,从而提高调试效率。 此外,由于您可与能在其计算机上复制您的本地会话的其他人共享 IntelliTrace 文件,因此它减少了 Bug 将不可重现的可能性。

警告

如果在测试设置中启用 IntelliTrace,则收集代码覆盖率数据将不起作用。有关更多信息,请参见 使用测试设置的代码覆盖率已弃用

警告

IntelliTrace 的诊断数据适配器的工作方式是检测托管进程,这项操作必须在测试运行的测试加载后执行。如果要监视的进程已启动,则不会收集任何 IntelliTrace 文件,因为该进程已在运行。为了避免这种情况,请确保加载测试之前该进程已停止。然后在加载测试后或启动第一个测试后启动该进程。

下面的过程介绍如何配置您想要收集的 IntelliTrace 数据。 这些步骤适用于 Microsoft 测试管理器 的配置编辑器并在Visual Studio中测试设置对话框。

备注

用于收集 IntelliTrace 数据的测试代理的用户帐户必须是管理员组的成员。有关更多信息,请参见安装和配置测试代理和测试控制器

将数据配置为通过 IntelliTrace 诊断数据适配器进行收集

在执行本过程中的步骤之前,必须从+中打开测试从 Microsoft 测试管理器 或Visual Studio安装并选择 *** 数据和诊断 *** 页。

将数据配置为通过 IntelliTrace 诊断数据适配器进行收集

  1. 选择用于收集 IntelliTrace 数据的角色。

  2. 选择**“IntelliTrace”**。

  3. 如果添加IntelliTrace web客户端角色的或ASP.NET Web应用程序,还必须选择 *** ASP.NET客户端代理的IntelliTrace和测试影响 ***

    此代理允许您为 IntelliTrace 和测试影响诊断数据适配器收集有关从客户端到 Web 服务器的 http 调用的信息。

    警告

    如果决定对正用于 Internet Information Server (IIS) 上的应用程序池(您打算在此处收集 Intellitrace 数据)的标识使用自定义帐户,则必须在 IIS 计算机上为正在使用的自定义帐户创建本地用户配置文件。您可以为自定义帐户创建本地配置文件,方法是本地登录到 IIS 计算机一次,或使用自定义帐户凭据运行以下命令行:

    runas /user:domain\name /profile cmd.exe

  4. 选择 *** IntelliTrace ****** 配置 *** 可以修改默认的IntelliTrace设置。

    此时将显示用于配置将要收集的数据的对话框。

    警告

    如果启用收集 IntelliTrace 数据,则收集代码覆盖率数据将不起作用。

  5. 选择 常规 选项。 选择**“仅 IntelliTrace 事件”**以记录测试时对性能影响最小的重要诊断事件。

    - 或 -

    选择**“IntelliTrace 事件和调用信息”**以记录诊断事件以及用于显示调用信息的方法级别跟踪。 在运行测试时,此跟踪级别可能对性能有影响。

  6. 从在Internet信息服务(iis)运行您的 ASP.NET 应用程序中收集数据,请选择 *** 从在Internet信息服务(iis)运行的ASP.NET应用程序中收集数据 ***。 设置和配置在Web服务器角色的测试代理。 请参见 安装和配置测试代理和测试控制器

  7. 选择 *** 模块 *** 选项。 选择**“从以下模块以外的所有模块收集数据”并使用“添加”可添加到模块列表中,单击“移除”**可移除模块。 通过使用此选项,您可以包含除指定的模块之外的系统上运行的所有模块。

    - 或 -

    选择**“仅从以下模块中收集数据”并使用“添加”以添加到模块列表中,使用“移除”**以移除模块。 通过使用此选项,您可以确切地指定所需的模块。

    备注

    如果可能,请选择要监视的特定进程。建议这样做以便优化性能。

  8. 选择 *** 处理 *** 选项。 选择**“从以下进程之外的所有进程收集数据”,然后使用“添加”以添加到进程列表中,使用“移除”**以移除进程。 通过使用此选项,您可以包含在系统上运行的所有进程,但指定的进程除外。

    - 或 -

    选择**“仅从指定的进程收集数据”并使用“添加”以添加到进程列表中,使用“移除”**以移除进程。 通过使用此选项,您可以确切地指定所需的进程。

  9. (可选)选择 *** IntelliTrace事件 *** 选项。 选择或清除您想在收集诊断事件时包含或排除的每个 IntelliTrace 事件类别。

  10. (可选)展开每个 IntelliTrace 事件类别,然后选择或清除您想在 IntelliTrace 事件中包含或排除的每个特定事件。

  11. (可选)选择 *** 高级 *** 选项。 接下来,将在 *** 最大数量记录的磁盘空间 *** 旁边的下箭头并选择您想要留给IntelliTrace文件使用的最大大小。

    备注

    如果增大记录的大小,则可能会在您将此记录与测试结果一起保存时出现超时问题。有关如何增加诊断数据适配器的超时值的更多信息,请参见如何:防止诊断数据适配器超时

  12. 如果使用 Microsoft 测试管理器,选择 *** 保存 ***。 如果使用Visual Studio中,选择 *** 好 ***。 现在已为测试设置配置并保存了 IntelliTrace 设置。

    备注

    若要重置此诊断数据适配器的配置,请选择Visual Studio的 Microsoft 测试管理器的 *** 重置为默认配置 ****** 重置为默认 ***

指南

有关更多信息,请参见 测试使用Visual Studio进行附带的2012版–第6章:一个测试的工具箱

请参见

任务

使用 Microsoft 测试管理器为自动系统测试创建测试设置

概念

使用测试设置来设置计算机和收集诊断信息

使用 IntelliTrace 查看代码的历史记录来更快地调试代码

其他资源

在 Microsoft 测试管理器中指定测试设置

指定 Visual Studio 测试的测试设置

在难以重现的 Bug 中包含诊断跟踪数据