除了事件之外,可以使用 IntelliTrace 收集有关特定事件或事件类别的信息,或有关单个函数调用的信息。 以下过程说明如何完成这些步骤。
可以在 Visual Studio Enterprise 版本中使用 IntelliTrace,但不能使用专业版或社区版。
配置 IntelliTrace
可以尝试仅使用 IntelliTrace 事件进行调试。 IntelliTrace 事件是调试器事件、异常、.NET Framework 事件和其他系统事件。 在开始调试之前,应打开或关闭特定事件来控制 IntelliTrace 记录的事件。 有关详细信息,请参阅 IntelliTrace 功能。
- 为文件访问打开 IntelliTrace 事件。 转到 “工具 > 选项 > IntelliTrace > IntelliTrace 事件 ”页,然后展开 “文件 ”类别。 检查 “文件 ”事件类别。 这会导致检查所有文件事件(访问、关闭、删除)。
创建应用
创建 C# 控制台应用程序。 在Program.cs文件中,添加以下
using语句:using System.IO;在 Main 方法中创建一个 FileStream ,从中读取、关闭该文件并删除该文件。 添加另一行,以便设置断点的位置:
static void Main(string[] args) { FileStream fs = File.Create("WordSearchInputs.txt"); fs.ReadByte(); fs.Close(); File.Delete("WordSearchInputs.txt"); Console.WriteLine("done"); }在
Console.WriteLine("done");上设置断点
开始调试并查看 IntelliTrace 事件
照常开始调试。 (按 F5 或单击 “调试 > 开始调试”。)
小窍门
调试时,将 “局部变量 ”和 “自动” 窗口保持打开状态,以查看和记录这些窗口中的值。
执行在断点处停止。 如果未看到 “诊断工具” 窗口,请单击 “调试 > Windows > IntelliTrace 事件”。
在 “诊断工具 ”窗口中,找到“ 事件 ”选项卡(应看到 3 个选项卡、 “事件”、“ 内存使用情况”和 “CPU 使用率”)。 “ 事件 ”选项卡显示事件的时间顺序列表,以调试器中断执行前的最后一个事件结束。 应会看到名为 Access WordSearchInputs.txt的事件。
选择某事件以查看其详细信息。
可以选择路径名称链接以打开该文件。 如果完整路径名不可用,将显示 “打开文件 ”对话框。
单击“ 激活历史调试”,它将调试器的上下文设置为收集所选事件的时间,并在 调用堆栈、 局部变量 和其他参与调试器窗口中显示历史数据。 如果源代码可用,Visual Studio 会将指针移动到源窗口中的相应代码,以便检查它。
如果找不到 bug,请尝试检查导致该 bug 的其他事件。 还可以提供 IntelliTrace 记录调用信息,以便可以单步执行函数调用。
相关内容
你可以在历史调试中使用 IntelliTrace 的部分高级功能:
- 若要查看快照,请参阅 使用 IntelliTrace 检查以前的应用状态
- 若要了解如何检查变量和导航代码,请参阅 使用历史调试检查应用