在 Visual Studio Enterprise 中使用 IntelliTrace 查看事件(C#、Visual Basic)

除了事件之外,可以使用 IntelliTrace 收集有关特定事件或事件类别的信息,或有关单个函数调用的信息。 以下过程说明如何完成这些步骤。

可以在 Visual Studio Enterprise 版本中使用 IntelliTrace,但不能使用专业版或社区版。

配置 IntelliTrace

可以尝试仅使用 IntelliTrace 事件进行调试。 IntelliTrace 事件是调试器事件、异常、.NET Framework 事件和其他系统事件。 在开始调试之前,应打开或关闭特定事件来控制 IntelliTrace 记录的事件。 有关详细信息,请参阅 IntelliTrace 功能

  • 为文件访问打开 IntelliTrace 事件。 转到 “工具 > 选项 > IntelliTrace > IntelliTrace 事件 ”页,然后展开 “文件 ”类别。 检查 “文件 ”事件类别。 这会导致检查所有文件事件(访问、关闭、删除)。

创建应用

  1. 创建 C# 控制台应用程序。 在Program.cs文件中,添加以下 using 语句:

    using System.IO;
    
  2. 在 Main 方法中创建一个 FileStream ,从中读取、关闭该文件并删除该文件。 添加另一行,以便设置断点的位置:

    static void Main(string[] args)
    {
        FileStream fs = File.Create("WordSearchInputs.txt");
        fs.ReadByte();
        fs.Close();
        File.Delete("WordSearchInputs.txt");
    
        Console.WriteLine("done");
    }
    
  3. Console.WriteLine("done");上设置断点

开始调试并查看 IntelliTrace 事件

  1. 照常开始调试。 (按 F5 或单击 “调试 > 开始调试”。)

    小窍门

    调试时,将 “局部变量 ”和 “自动” 窗口保持打开状态,以查看和记录这些窗口中的值。

  2. 执行在断点处停止。 如果未看到 “诊断工具” 窗口,请单击 “调试 > Windows > IntelliTrace 事件”。

    “诊断工具 ”窗口中,找到“ 事件 ”选项卡(应看到 3 个选项卡、 “事件”、“ 内存使用情况”和 “CPU 使用率”)。 “ 事件 ”选项卡显示事件的时间顺序列表,以调试器中断执行前的最后一个事件结束。 应会看到名为 Access WordSearchInputs.txt的事件。

    Visual Studio 代码窗口的屏幕截图。执行在断点处停止,“诊断工具”窗口中的“事件”选项卡列出事件。

  3. 选择某事件以查看其详细信息。

    Visual Studio 诊断工具窗口中“事件”选项卡的屏幕截图。已选择并展开事件以显示其详细信息。

    可以选择路径名称链接以打开该文件。 如果完整路径名不可用,将显示 “打开文件 ”对话框。

    单击“ 激活历史调试”,它将调试器的上下文设置为收集所选事件的时间,并在 调用堆栈局部变量 和其他参与调试器窗口中显示历史数据。 如果源代码可用,Visual Studio 会将指针移动到源窗口中的相应代码,以便检查它。

    Visual Studio 代码窗口的屏幕截图。执行在断点处停止,已选中事件,并突出显示相应的代码行。

  4. 如果找不到 bug,请尝试检查导致该 bug 的其他事件。 还可以提供 IntelliTrace 记录调用信息,以便可以单步执行函数调用。

你可以在历史调试中使用 IntelliTrace 的部分高级功能: