如何:指定跟踪点/断点操作
本主题适用于:
版本 |
Visual Basic |
C# |
F# |
C++ |
Web Developer |
---|---|---|---|---|---|
学习版 |
![]() |
![]() |
![]() |
![]() |
![]() |
专业版、高级专业版和旗舰版 |
跟踪点是一种使用断点的新方法。 跟踪点是带有与断点关联的自定义操作的断点。 当命中跟踪点时,跟踪点会使调试器执行指定的操作,而不是或不仅仅是中断程序执行。
您可以用下面两种不同的方法来创建跟踪点:
通过添加跟踪点操作将现有断点转换为跟踪点。 任何类型的断点都可以转换为跟踪点。
使用**“新建跟踪点”**命令从头开始创建跟踪点。
提示
显示的对话框和菜单命令可能会与“帮助”中的描述不同,具体取决于您所用的设置或 Visual Studio 版本。 若要更改设置,请从“工具”菜单中选择“导入和导出设置”。 有关更多信息,请参见 使用设置。
在源窗口中,单击要设置跟踪点的行,然后从快捷菜单上的**“断点”中选择“插入跟踪点”**。
即会出现**“命中条件”对话框。 它包含两个文本框:“打印消息”和“运行宏”**,您可以在其中输入自定义操作。
此时,您可以接受预先选定的跟踪点设置,也可以按如下方式修改这些设置:
若要创建将消息打印到**“输出”窗口的跟踪点,请选择“打印消息”,然后在相应的文本框中输入消息文本。 利用“打印消息”**,可以将跟踪点用于原本要使用 trace 类来实现的目的,只是使用跟踪点不需要修改代码。
使用 DebuggerDisplayAttribute 语法可以包括编程信息(请参见 DebuggerDisplayAttribute)。 例如:
In function '{$FUNC}', on thread '{$TID}'
- 或 -
Used variable: {varName}, function name: {functionName($FUNC)}
可以使用在**“命中断点时”**对话框中显示的任何关键字。 此外,还可以使用没有在该对话框中显示的其他两个关键字:用于插入当前 CPU 滴答计数的 $TICK 和用于插入当前文件位置的 $FILEPOS。
在**“命中断点时”对话框打开时,在“打印消息”中会显示默认消息。 如果要接受此消息,请单击“确定”**。
若要运行 Visual Studio 自动化模型宏,请选择**“运行宏”**并从下拉列表中选择宏。
在选择**“打印消息”或“运行宏”后,“继续执行”复选框会变为活动状态。 如果不希望跟踪点中断程序的执行,请选择“继续执行”**。
单击**“确定”**。
在源窗口、“反汇编”窗口或“调用堆栈”窗口中,右击断点标志符号,然后选择“命中条件”。
- 或 -
在**“断点”窗口中,右击断点标志符号,然后选择“命中条件”**。
即会出现**“命中条件”**对话框。
单击**“确定”**以接受预先选定的跟踪点设置,或者按照上述过程中说明的方法修改这些设置。