文档首页 > > 工具指南> Data Studio数据库集成开发工具> 函数/过程管理> 调试PL/SQL函数> 控制执行

控制执行

分享
更新时间: 2019/08/09 GMT+08:00

本节包含如下内容:

开始调试

在“对象浏览器”窗格中选择需调试的函数。单击工具栏中的(或使用前文提到的其他方法)开始调试。如果没有设置断点,或者设置的断点无效,则不会停止任何语句、进行调试操作,而仅会执行对象并显示结果(如有)。

单步调试PL/SQL函数

调试执行函数时,用户可使用工具栏中的单步调试命令。通过进行单步控制,可逐行调试程序。如果进行单步操作时遇到断点,则该单步操作会停止,程序也会暂停执行。

“单步”是指一次执行一条语句。单步执行一条语句后,可以在其他调试窗口中查看执行结果。

说明:

一次最多可以弹出100个“PL/SQL Viewer”页签。如果打开的页签超过100个,则调用函数页签关闭。例如,如果已打开100个页签,且调试对象调用了新调试对象,则Data Studio会关闭调用函数并打开新的调试对象。

单步进入

在选择“调试”菜单中选择单步进入、按或者按F7,都可以逐条语句执行代码。

当单步跳入一个函数,Data Studio执行当前语句,然后进入调试模式,调试位置由左侧标尺区域中的箭头表示。如果执行语句调用另一个函数,Data Studio将单步跳入该函数。一旦函数中的所有语句执行完成,Data Studio将跳回其调用函数的下一语句。

单步进入(F7),进入下一语句如果按“继续”,PL/SQL代码执行将继续。

例如:

跳入第8行时,进入m := F3_TEST();,即进入f3_test()中的第9行。持续单步进入(F7),进入每一行,从而执行f3_test()中的所有语句。一旦该函数中的所有语句执行完毕,Data Studio跳回f2_test()中的第10行。

以函数名为标题的页签中,当前调试对象用星号(*)标记。

单步跳过

单步跳过与单步进入相同,除非调用了另一个函数,否则不会跳入该函数。该函数将运行,进入当前函数中的下一个语句。F8是单步跳过的快捷键。如果该调用函数内设置了断点,单步跳过将进入该函数,并命中该断点。

下面的例子中,如在第10行单击“单步跳过”,Data Studio将运行f3_test()进程。

光标移动到f2_test()中的下一语句,即f2_test()中的第11行。

用户熟悉了该函数的工作方式,并确保函数的执行不会影响正在调查的问题后,可以单步跳过该函数。

说明:

同单步进入该行一样,单步跳过不包含函数调用的一行代码执行该行。

单步退出

子程序单步退出,继续该函数的执行,在该过程返回其调用函数后,暂停执行,确定该函数的剩余部分无需调试后,可单步退出该段函数。然而,如果该函数其余部分设置了断点,在返回调用函数前,该断点将被命中。

单步跳过和单步退出过程都会执行函数。单步退出操作的快捷键是“Shift+F7”。

  

上图所示例子中,

  • 选择“调试 > 单步进入”单步进入f3_test()。
  • 选择“调试 > 单步退出”单步退出f3_test()。

继续执行

调试进程在某一位置停止时,可在“调试”菜单中选择“继续”(F9)或者单击工具栏中的继续PL/SQL函数执行。

查看调用堆栈

调用堆栈”窗格展示调用过程时的过程链。可从最小化窗口窗格中打开“调用堆栈”窗格。最近的过程在顶部,最早的在底部,每个程序名的末尾是该过程的当前行号。

双击“调用堆栈”窗格中的函数名,通过“调用堆栈”窗格在多个函数中导航。例如,当f2_test()调用f3_test()的第10行时,调试指针将指向调用函数中的首个可执行行(即上一个例子中的第9行)。

这种情况下,“调用堆栈”窗格如下图所示:

说明:

按下“Alt+J”复制“调用堆栈”窗格内容。

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区