3

SQL Developerを使用して以下のようなコードをデバッグしています。すべてのストアドプロシージャを終了した後にのみ、出力結果がデバッグダイアログに表示されます。一部の構成をオンにする必要がありますか?

ありがとう

 FOR j IN REVERSE 1..i LOOP
     DBMS_OUTPUT.PUT_LINE(emp_tab(j).first_name);
  END LOOP;

ログ

Connecting to the database hr.
Executing PL/SQL: ALTER SESSION SET PLSQL_DEBUG=TRUE
Executing PL/SQL: CALL DBMS_DEBUG_JDWP.CONNECT_TCP( '192.168.1.4', '53475' )
Debugger accepted connection from database on port 53475.
Source breakpoint occurred at line 24 of EMP_LIST.pls.
Source breakpoint occurred at line 24 of EMP_LIST.pls.
Source breakpoint occurred at line 24 of EMP_LIST.pls.
Source breakpoint occurred at line 24 of EMP_LIST.pls.
Source breakpoint occurred at line 24 of EMP_LIST.pls.
Source breakpoint occurred at line 24 of EMP_LIST.pls.
Executing PL/SQL: CALL DBMS_DEBUG_JDWP.DISCONNECT()
Shelli
Hermann
David
Mozhe
Sundar
Ellen
Process exited.
Disconnecting from the database hr.
Debugger disconnected from database.
4

1 に答える 1

5

を使用DBMS_OUTPUTしてデバッグしている場合、プロセスが完了するまで出力は表示されません。それが機能する方法DBMS_OUTPUTです。

SQL Developerデバッガは正常に使用されているようですが、これはストアドプロシージャをデバッグするためのはるかに効果的な方法です。明らかにブレークポイントを設定しているので、それらのブレークポイントで変数の値を調べることができます。値を出力する必要はありません。

于 2012-07-04T18:09:50.387 に答える