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 回答