PL/Sql Dev 调试Oracle存储过程、触发器、函数

本处以调试函数为例,其他的调试与此相同
1.调试位置

  通常情况下,要在pl/sql Dev中调试程序有两个地方:
  1).新建->测试窗口:

  
  2).在要调试的程序上点击右键->测试

  

2.调试过程

  1).通过调试位置进入测试窗口,如下图:

  
     其中:点击1位置(或者按F9)进入调试器,2位置显示的是程序所声明的输入输出参数,如果是输入参数,需要在此处填入相应的输入值,输出参数会在执行调试完后显示。
  2).按F9进入开始调制器,如图所示:

     
     其中:1----中断调试,2----单步调试,简单点就是一步一步的执行;绿色的箭头表示全部运行完这个程序,如果有断点设置,也可以跳入到下一个断点。
 
3).单击单步调试,进入函数,如图

  
     在此,可以尝试单步调试,一步一步运行程序
 4).设置断点
,如图
  
在文本区域最左侧的边框进行左键单击,如果有行号显示,也就是行号所在的位置,如图:

  
     点击绿色的箭头,可以直接运行到设置断点处
 5).
对变量进行监控,如图

  
     1位置为监控窗口,这个窗口可以把你要监视的变量进行显示,你把你需要监视的变量复制到这个窗口就可以了,也可以在变量上单击右键->添加变量到监视器(位置2)。
    继续单步执行,可以看到监控变量(位置3)值的变化。

3.权限问题(ORA-0131)

 1)调试程序时,报错为ORA-0131:Insufficient privileges,如图:

  
     原因是用户权限不够,是缺失  DEBUG CONNECT SESSION 系统权限所致
 2)解决办法:以SYS用户登录数据库,执行赋权操作:

1 SQL> grant  DEBUG CONNECT SESSION to user_name;

   注明:1.有网友指出还需赋予DEBUG ANY PROCEDURE的权限,经测试,该权限可不用赋予!
        2.可以从数据字典session_privs表查看该权限相关信息(需要以user_name登录):

 1 SQL>conn scott/tiger;
 2 SQL> select * from session_privs;
 3 PRIVILEGE
 4 ----------------------------------------
 5 CREATE SESSION
 6 UNLIMITED TABLESPACE
 7 CREATE TABLE
 8 CREATE CLUSTER
 9 CREATE SEQUENCE
10 CREATE PROCEDURE
11 CREATE TRIGGER
12 CREATE TYPE
13 CREATE OPERATOR
14 CREATE INDEXTYPE
15 DEBUG CONNECT SESSION
16 DEBUG ANY PROCEDURE
17 12 rows selected

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/mice/archive/2012/08/06/SnowMice.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值