لماذا لا يمكنني إيقاف برنامج PL / SQL الخاص بي عند Breakpoint الذي حددته في الضفدع

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 على امتيازات كافية لتصحيح Debug1 كأمر أقدم 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,

و

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، ثم انقر فوق الزر "تنفيذ plsql مع مصحح الأخطاء". الضفدع تشغيل Proc1 وعرض النتيجة على الفور. انها فقط لا تتوقف عند نقطة توقف. أنا لا أعرف لماذا. هل يدير أي شخص في هذه المشكلة؟ كيف يمكنك إصلاحه؟ شكرا جزيلا!

ملاحظة: أستخدم الضفدع 9.7.2

هل كانت مفيدة؟

المحلول

أين بالضبط تضع نقطة توقفك؟ أتمنى أن لا تضعها على CREATE PROCEDURE خط.

إذا وضعته على ذلك، فهذا لا يعمل (يخلق هذا العبارة فقط الإجراء، فهذا لا ينفذه). يجب عليك الاتصال ProC1 من مكان ما ووضع نقطة توقف على الخط حيث يتم استدعاؤه، مثل هذا:

BEGIN
   proc1; -- place your breakpoint on this line
END;
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top