Debugging 为什么我能';不要在我在TOAD中设置的断点处停止我的pl/sql程序

Debugging 为什么我能';不要在我在TOAD中设置的断点处停止我的pl/sql程序,debugging,plsql,toad,Debugging,Plsql,Toad,我有一个简单的oracle存储过程proc1,如下所示: CREATE OR REPLACE PROCEDURE SYS.proc1 IS total NUMBER := 0; temp INTEGER := 0; BEGIN FOR i IN 1 .. 5 LOOP temp := 2 * i; total := total + temp; END LOOP; DBMS_OUTPUT.put_line (total); E

我有一个简单的oracle存储过程proc1,如下所示:

CREATE OR REPLACE PROCEDURE SYS.proc1
IS
   total   NUMBER := 0;
   temp    INTEGER := 0;
BEGIN
   FOR i IN 1 .. 5
   LOOP
      temp := 2 * i;
      total := total + temp;
   END LOOP;

   DBMS_OUTPUT.put_line (total);
END;
proc1的所有者是sys。sys有足够的权限调试proc1,如下sql命令所示:

SELECT *
  FROM session_privs
 WHERE privilege LIKE '%DEBUG%';
我将得到以下结果:

DEBUG CONNECT SESSION
DEBUG ANY PROCEDURE
我使用oracle 11g,如下sql命令所示:

SELECT * FROM v$database;
SELECT * FROM v$instance;
上面的问题给了我:

1223277241,ORCL,8/21/2009 5:28:25 PM,886308,8/21/2009 5:28:28 PM,1,10/15/2007 10:08:59 AM,NOARCHIVELOG,3510666,3399439,CURRENT,8/21/2009 5:28:26 PM,10008,3536169,11/10/2009 3:16:51 PM,NOT ALLOWED,8/21/2009 5:28:25 PM,READ WRITE,MAXIMUM PERFORMANCE,UNPROTECTED,ENABLED,1223308473,1223308473,PRIMARY,886308,DISABLED,SESSIONS ACTIVE,DISABLED,NONE,NO,NO,NO,NO,7,Microsoft Windows IA (32-bit),2,2,3536339,NO,NO,NO,orcl,0,DISABLED,,0,,,NO,,NO,

在TOAD中,我将断点设置为proc1,然后单击“使用调试器执行plsql”按钮。TOAD运行proc1并立即显示结果。它只是不在断点处停止。我不知道为什么。有人遇到过这个问题吗?你怎么修理它?非常感谢


注:我使用toad 9.7.2

你把断点放在哪里?我希望您不要将其放在
创建过程
行中

如果你把它放在那样的位置上,它就不工作了(该语句只创建过程,而不执行它)。您必须从某处调用proc1,并将断点放在调用它的行上,如下所示:

BEGIN
   proc1; -- place your breakpoint on this line
END;

不,我知道ToadPL/SQLeDirror会在存储程序的每一行添加一个蓝点,在那里您可以(应该)设置断点。我只是将断点设置为temp:=2*I;。谢谢
BEGIN
   proc1; -- place your breakpoint on this line
END;