내가 두꺼비에서 설정 한 Breakpoint에서 내 PL/SQL 프로그램을 멈출 수없는 이유

StackOverflow https://stackoverflow.com/questions/1706163

  •  19-09-2019
  •  | 
  •  

문제

다음과 같이 간단한 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는 다음 SQL 명령에 따라 Proc1을 디버그하기에 충분한 권한이 있습니다.

SELECT *
  FROM session_privs
 WHERE privilege LIKE '%DEBUG%';

다음과 같은 결과를 얻을 수 있습니다.

DEBUG CONNECT SESSION
DEBUG ANY PROCEDURE

다음 SQL 명령이 표시되는 것처럼 Oracle 11g를 사용합니다.

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,

그리고

1,orcl,WD00070136,11.1.0.6.0,11/9/2009 11:04:29 AM,OPEN,NO,1,STOPPED,,ALLOWED,NO,ACTIVE,PRIMARY_INSTANCE,NORMAL,NO

두꺼비에서는 Proc1에서 브레이크 포인트를 설정 한 다음 "Debugger를 사용하여 PLSQL 실행"버튼을 클릭합니다. 두꺼비는 Proc1을 실행하고 결과를 즉시 표시합니다. 브레이크 포인트에서 멈추지 않습니다. 왜 그런지 모르겠어요. 아무도이 문제를 해결하는 사람이 있습니까? 어떻게 고치나요? 감사합니다!

추신 : 나는 Toad 9.7.2를 사용합니다

도움이 되었습니까?

해결책

브레이크 포인트를 정확히 어디에 두십니까? 나는 당신이 그것을 넣지 않기를 바랍니다 CREATE PROCEDURE 선.

당신이 그것을 넣으면, 그것은 작동하지 않습니다 (그 진술은 절차 만 생성하면 실행되지 않습니다). 어딘가에서 Proc1을 호출하고 다음과 같이 호출되는 줄에 중단 점을 놓아야합니다.

BEGIN
   proc1; -- place your breakpoint on this line
END;
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top