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

利用 Microsoft 测试管理器或 Microsoft Visual Studio 2010,您可以配置 IntelliTrace 的诊断数据适配器以收集特定诊断跟踪信息。测试可使用此适配器并且可以为应用程序收集重要的诊断事件,开发人员以后可以使用这些事件来跟踪代码,以找出 Bug 的原因。 IntelliTrace 的诊断数据适配器既可用于手动测试,也可用于自动测试。

提示

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

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

提示

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

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

警告

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

警告

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

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

提示

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

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

在执行本过程中的步骤之前,必须从 Microsoft 测试管理器或 Microsoft Visual Studio 2010 中打开测试设置,然后选择**“数据和诊断”**页。

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

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

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

  3. 如果要为 Web 客户端角色添加 IntelliTrace,还必须选择**“用于 IntelliTrace 和测试影响的 ASP.NET 客户端代理”**。

    此代理允许您为 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 Information Services 上运行的 ASP.NET 应用程序中收集数据,请选择**“从 Internet Information Services 上运行的 ASP.NET 应用程序中收集数据”**。

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

    - 或 -

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

    提示

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

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

    - 或 -

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

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

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

    提示

    有关更多信息,请参见收集 IntelliTrace 信息

  11. (可选)单击**“高级”选项卡。 接着,单击“用于记录的最大磁盘空间”**旁边的箭头,并选择您想要留给 IntelliTrace 文件使用的磁盘空间的最大大小。

    提示

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

  12. 如果您使用的是 Microsoft 测试管理器,请单击**“保存”。如果您使用的是 Visual Studio,请单击“确定”**。 现在已为测试设置配置并保存了 IntelliTrace 设置。

    提示

    若要重置此诊断数据适配器的配置,请对 Visual Studio 单击“重置为默认配置”或对 Microsoft 测试管理器单击“重置为默认值”

请参见

任务

为手动测试创建测试设置

创建作为测试计划一部分的自动测试的测试设置

创建测试设置以从 Visual Studio 中运行自动测试

概念

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

使用 IntelliTrace 进行调试

其他资源

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