pl sql developer中如何调试存储过程以及调试包中创建的存储过程
如何调试oracle存储过程
- 点击要调试的存储过程,右键选择TEST
- 如果需要查看变量,当然调试都需要。在右键菜单中选择Add debug information.
- start debugger(F9)开始我们的测试,Run(Ctrl+R)
- 随时在varible List中输入我们想查看的变量
其它:
Step into(Ctrl+N):单步调试,进入下一步
Step over(Ctrl+O):结束该语句
Step out(Ctrl+T):跳出该过程
Run to next exception:进入下一个断点Breakpoint
Toggle Breakpoint设置断点:光标指向一行,Ctrl+B;或鼠标点中该行的行号边缘
(1)在body里设置断点(在要设置断点的行开始点击鼠标左键就可以)。 (2)右键点击TEST. 会出现如下TEST WINDOWS窗口 在下面红圈中的位置value栏中输入参数值,因为varstr是输入参数,所在要输入一个值,但是io_cursor是输入输出参数,在此做为输出参数不预输入值 (3) Debug-->Start. 如果上面操作步骤中在debug——start不能点击是灰色的,则是因为未给此用户分配调的权限, 如果点击执行的话则pl/sql developer 调试存储过程报错 note:debugging requires the debug connect session system privilege. 原因是用户权限不够,使用以下命令授予权限: 用sysdba角色的用户名登录,使用如下命令 GRANT debug any procedure, debug connect session TO username (4)点击红色框的按钮进行单步调试,自动会跳到存储过程体内。 (5)把鼠标放到变量上可以显示出该变量的值,。
此时会在下图红圈中列出该变量的值 点南上图红色粗线中的按钮,弹出如下对话框显示该变量值的详细信息 下面是创建一个简单存储过程的例子 CREATE OR REPLACE PACKAGE u_pg_test as CREATE OR REPLACE PACKAGE BODY u_pg_test AS Procedure u_sp_test(varStr varchar2, io_cursor IN OUT t_cursor) IS v_cursor t_cursor; BEGIN OPEN v_cursor FOR varSql; io_cursor := v_cursor; END u_sp_test; END u_pg_test; |