关于PL/SQL Developer的使用

时间:2021-07-21 23:00:59
为什么我用PL/SQL Developer在调试function时,跟踪变量的值总是显示(No debug information)?
怎么才能解决?
有没有人遇到类似问题?
还有不知TOAD里是否能设置断点,跟踪变量.

8 个解决方案

#1


TOAD里是可以设置断点,跟踪变量

#2


有一个test窗口的啊,你可以设置变量.也可以做一些其他的操作.我好象没遇到过这样的情况.

#3


to freddy2003() :能说详细点吗,谢谢.

to  dinya2003(OK) :您说的是哪个工具?PL/SQL Developer里有test但我没跟踪到值,TOAD里我没找到.

#4


天,没人理我,自己顶.

#5


临走前,奋力一顶.

#6


1 打开树functions
2 鼠标右键你的函数f_test...
3 选择菜单功能Add debug information
4 鼠标右键你的函数f_test...
5 选择菜单功能Test
6 在测试界面中输入你的输入参数
7 选择右边的debug按钮就可以了。。。

#7


3 选择菜单功能Add debug information
-----------------------------------------
我没找到,版本问题?

#8


是版本问题.
抄来一段.
如何对存储过程进行Debug? 
u 需要Toad单独的Debug Option(Standard Version 没有这个选项) 
u 要用Toad对存储过程进行debug,必须安装Oracle的系统包:dbms_debug,而且必须安装Oracle Probe API v2.0 或者更高的版本。 
u 集成在Stored Precedure Editor里面,可以一边编写一边调试,大大提高开发效率 
u 打开Procedure Editor后,Debug菜单激活,可以开始进行Debug工作。 
u 允许对存储过程进行逐行调试、断点调试,也支持对触发器进行调试。 
u 可以有断点支持,支持Watch变量,允许运行时改变变量的值 
u 允许对多层调用的Debug支持 
调试步骤具体举例: 
1. 点击菜单栏的第三个按钮: ,打开Procedure Editor 
2. 点击Procedure Editor的菜单栏的 按钮,调出需要调试的存储过程 
3. 单击工具栏上的按钮 ,输入需要传入的参数,如果不需要传入参数,可以直接单击工具栏上的按钮: ,直接开始调试,如下图输入传入参数: 

4. 单击菜单栏的按钮: ,可以单步跟踪,也可以定义一个断点,直接运行到断点在单步执行,在存储过程运行的过程中,当前语句会高亮度显示,并且把鼠标指针定位到变量上,Toad自动显示该变量的当前值。 

5. 可以随时中止程序的执行,只要点Debug ->Halt Execution,或者菜单栏上的按钮 ,就可以中止程序的执行 
6. 当碰到一个存储过程调用另外一个存储过程的时候,可以选择跳过(Step Over)  ,这样就直接运行那个被调用的存储过程,返回调用结果,继续这个存储过程的调试,也可以选择Trace Into ,这样就打开被调用的存储过程,进一步深入调试那个被调用的子存储过程。如果需要保持Debug信息,在编译的时候应该选择Compile Dependencies with Debug Information,就是Procedure Editor工具栏最右边的那个按钮 。 
7. 支持对变量实时追踪:使用Watch: 
可以在运行前,或者运行过程中对某个变量进行实时跟踪:Add Watch,把鼠标定位到该变量上,然后点击Debug ->Add  Watch At Cursor,该变量就会出现在Debug状态窗口上,而且实时反应该变量的当前值。如上图中的变量v_empname。可以运行时刻修改 
8. 断点支持: 
单击存储过程需要加断点的地方的行号,该行颜色变红,输入参数,单击执行按钮 ,可以直接运行到断点处,可以不必逐行追踪,更加高效率的进行调试。 
Debug Option还支持条件断点,只有当满足条件的时候才会在那个地方停止,否则就好像不存在这个断点一样继续运行。 

Ë 注意DBMS_OUTPUT.PUT_LINE的结果只有当程序执行完成以后才会出现,在程序执行过程中是没有结果的。

#1


TOAD里是可以设置断点,跟踪变量

#2


有一个test窗口的啊,你可以设置变量.也可以做一些其他的操作.我好象没遇到过这样的情况.

#3


to freddy2003() :能说详细点吗,谢谢.

to  dinya2003(OK) :您说的是哪个工具?PL/SQL Developer里有test但我没跟踪到值,TOAD里我没找到.

#4


天,没人理我,自己顶.

#5


临走前,奋力一顶.

#6


1 打开树functions
2 鼠标右键你的函数f_test...
3 选择菜单功能Add debug information
4 鼠标右键你的函数f_test...
5 选择菜单功能Test
6 在测试界面中输入你的输入参数
7 选择右边的debug按钮就可以了。。。

#7


3 选择菜单功能Add debug information
-----------------------------------------
我没找到,版本问题?

#8


是版本问题.
抄来一段.
如何对存储过程进行Debug? 
u 需要Toad单独的Debug Option(Standard Version 没有这个选项) 
u 要用Toad对存储过程进行debug,必须安装Oracle的系统包:dbms_debug,而且必须安装Oracle Probe API v2.0 或者更高的版本。 
u 集成在Stored Precedure Editor里面,可以一边编写一边调试,大大提高开发效率 
u 打开Procedure Editor后,Debug菜单激活,可以开始进行Debug工作。 
u 允许对存储过程进行逐行调试、断点调试,也支持对触发器进行调试。 
u 可以有断点支持,支持Watch变量,允许运行时改变变量的值 
u 允许对多层调用的Debug支持 
调试步骤具体举例: 
1. 点击菜单栏的第三个按钮: ,打开Procedure Editor 
2. 点击Procedure Editor的菜单栏的 按钮,调出需要调试的存储过程 
3. 单击工具栏上的按钮 ,输入需要传入的参数,如果不需要传入参数,可以直接单击工具栏上的按钮: ,直接开始调试,如下图输入传入参数: 

4. 单击菜单栏的按钮: ,可以单步跟踪,也可以定义一个断点,直接运行到断点在单步执行,在存储过程运行的过程中,当前语句会高亮度显示,并且把鼠标指针定位到变量上,Toad自动显示该变量的当前值。 

5. 可以随时中止程序的执行,只要点Debug ->Halt Execution,或者菜单栏上的按钮 ,就可以中止程序的执行 
6. 当碰到一个存储过程调用另外一个存储过程的时候,可以选择跳过(Step Over)  ,这样就直接运行那个被调用的存储过程,返回调用结果,继续这个存储过程的调试,也可以选择Trace Into ,这样就打开被调用的存储过程,进一步深入调试那个被调用的子存储过程。如果需要保持Debug信息,在编译的时候应该选择Compile Dependencies with Debug Information,就是Procedure Editor工具栏最右边的那个按钮 。 
7. 支持对变量实时追踪:使用Watch: 
可以在运行前,或者运行过程中对某个变量进行实时跟踪:Add Watch,把鼠标定位到该变量上,然后点击Debug ->Add  Watch At Cursor,该变量就会出现在Debug状态窗口上,而且实时反应该变量的当前值。如上图中的变量v_empname。可以运行时刻修改 
8. 断点支持: 
单击存储过程需要加断点的地方的行号,该行颜色变红,输入参数,单击执行按钮 ,可以直接运行到断点处,可以不必逐行追踪,更加高效率的进行调试。 
Debug Option还支持条件断点,只有当满足条件的时候才会在那个地方停止,否则就好像不存在这个断点一样继续运行。 

Ë 注意DBMS_OUTPUT.PUT_LINE的结果只有当程序执行完成以后才会出现,在程序执行过程中是没有结果的。

相关文章