指定断点操作

适用范围:SQL Server

断点操作指定 Transact-SQL 调试程序针对某个断点执行的自定义任务。 如果达到指定的命中计数并满足指定的断点条件,则调试程序将执行为断点指定的操作。

操作注意事项

当命中计数和断点条件都得到满足时,断点的默认操作为中断执行。 Transact-SQL 调试程序中的操作的主要用途是将信息打印到调试程序的“输出”窗口。

消息在“在输出窗口中显示消息:”选项中指定并被指定为一个文本字符串,其中包含的表达式包括正在调试的 Transact-SQL 中的信息。 表达式包括:

  • 包含在大括号 ({}) 中的 T-SQL 表达式。 该表达式可以包含 Transact-SQL 变量、参数和内置函数。 示例包括 {@MyVariable}{@NameParameter}{@@SPID}{SERVERPROPERTY('ProcessID')}

  • 以下关键字之一:

    • $ADDRESS 返回在其中设置断点的存储过程或用户定义函数的名称。 如果在编辑器窗口中设置断点,$ADDRESS 将返回正在编辑的脚本文件的名称。 $ADDRESS$FUNCTION 在 Transact-SQL 调试程序中返回相同信息。

    • $CALLER 返回调用存储过程或函数的 Transact-SQL 代码单元的名称。 如果在编辑器窗口中设置断点,则 $CALLER 返回 <No caller available>。 如果断点位于从编辑器窗口中的代码调用的存储过程或用户定义函数中,$CALLER 将返回正在编辑的文件的名称。 如果断点位于从其他存储过程或函数中调用的存储过程或用户定义函数中,$CALLER 将返回此调用过程或函数的名称。

    • $CALLSTACK 返回链中调用当前存储过程或用户定义函数的函数的调用堆栈。 如果在编辑器窗口中设置断点,$CALLSTACK 将返回正在编辑的脚本文件的名称。

    • $FUNCTION 返回在其中设置断点的存储过程或用户定义函数的名称。 如果在编辑器窗口中设置断点,$FUNCTION 将返回正在编辑的脚本文件的名称。

    • $PID$PNAME 返回正在运行数据库引擎实例(其中正在运行 Transact-SQL)的操作系统进程的 ID 和名称。 $PID 返回与 SERVERPROPERTY('ProcessID') 相同的 ID,不过 $PID 是十六进制值,而 SERVERPROPERTY('ProcessID') 是十进制值。

    • $TID$TNAME 返回运行 Transact-SQL 批处理的操作系统线程的 ID 和名称。 该线程是一个与运行数据库引擎实例的进程关联的线程。 $TID 返回与 SELECT kpid FROM sys.sysprocesses WHERE spid = @@SPID 相同的值,不过 $TID 是十六进制值,而 kpid 是十进制值。

  • 还可以使用反斜杠字符 (\) 作为转义字符,以允许在消息中使用大括号和反斜杠:\{\}\\

指定操作

  1. 在“编辑器”窗口中,右键单击断点符号,然后选择快捷键菜单上的“操作”

    -或-

    在“断点”窗口中,右键单击断点符号,然后选择快捷键菜单上的“设置”。

  2. 在“断点设置”对话框中,选择“操作”选项。

  3. “输出窗口中显示消息”对话框,输入表达式。

  4. 如果你不想暂停执行断点,请选择“继续代码执行”。 仅当选择了“操作”选项时,此选项才可用。

  5. 选择“关闭”以实现更改。