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 调试器信息

请参阅

其他资源