Transact-SQL 调试器基本原理
Transact-SQL 调试器通过调查代码的运行时行为可以帮助您查找 Transact-SQL 代码中的错误。将数据库引擎查询编辑器窗口设置为调试模式后,可在特定的代码行上暂停执行,并检查那些 Transact-SQL 语句使用和返回的信息和数据。
在 Transact-SQL 代码中导航
当数据库引擎查询编辑器窗口处于调试模式时,可以使用 Transact-SQL 调试器提供的以下选项在 Transact-SQL 代码中导航:
在各个 Transact-SQL 语句上设置断点。
在启动调试器时,调试器会在查询编辑器窗口中的第一个代码行上暂停。若要运行到您设置的第一个断点,可以使用**“继续”功能。也可以使用“继续”**功能从窗口当前暂停的任何位置运行到下一个断点。
单步执行下一个语句。
使用此选项可以在一组语句中逐个导航,并在导航时观察它们的行为。
单步或逐过程对存储过程或函数执行调用。
如果确定存储过程中没有错误,可以逐过程执行。这样可以完整执行该过程,并将结果返回到代码。
如果希望调试存储过程或函数,可以单步执行模块。SQL Server Management Studio 会打开一个由模块源代码填充的新数据库引擎查询编辑器窗口,将该窗口置于调试模式,并暂停对模块中第一个语句的执行。然后,您就可以在模块代码中导航,例如通过设置断点或逐句通过代码。
有关调试器如何帮助您在代码中导航的详细信息,请参阅逐步骤执行 Transact-SQL 代码。
查看调试器信息
每当调试器对特定 Transact-SQL 语句暂停执行时,您可以都使用以下调试器窗口来查看当前执行状态:
局部变量和**监视。**这些窗口显示当前分配的 Transact-SQL 表达式。表达式是 Transact-SQL 子句,其计算结果为单个标量表达式。Transact-SQL 调试器支持查看引用 Transact-SQL 变量、参数或名称以 @@ 开头的内置函数的表达式。这些窗口还显示当前分配给表达式的数据值。
**快速监视.此窗口显示 Transact-SQL 表达式的值,还可将该表达式保存到“监视”**窗口。
**断点.**此窗口显示当前设置的断点,通过此窗口可对断点进行管理。
**调用堆栈.**此窗口显示当前执行位置。它还提供关于执行如何从原始查询编辑器窗口开始,通过所有函数、存储过程或触发器,最后到达当前执行位置的信息。
**输出.**此窗口显示各种消息和程序数据,如来自调试器的系统消息。
结果和**消息。**查询编辑器窗口上的这些选项卡显示以前执行的 Transact-SQL 语句的结果。
有关如何查看信息的详细信息,请参阅查看 Transact-SQL 调试器信息。