Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java plsql远程调试断点不工作_Java_Oracle_Plsql_Remote Debugging_Oracle Sqldeveloper - Fatal编程技术网

Java plsql远程调试断点不工作

Java plsql远程调试断点不工作,java,oracle,plsql,remote-debugging,oracle-sqldeveloper,Java,Oracle,Plsql,Remote Debugging,Oracle Sqldeveloper,我在调试pl sql代码时遇到了一个奇怪的情况 我将SQLDeveloper设置为侦听调试连接。在java代码中,我使用以下代码附加调试器: CallableStatement cstmt = null; try { cstmt = getConnection().prepareCall("begin DBMS_DEBUG_JDWP.CONNECT_TCP( '10.1.1.17', 4000); end;");

我在调试pl sql代码时遇到了一个奇怪的情况

我将SQLDeveloper设置为侦听调试连接。在java代码中,我使用以下代码附加调试器:

CallableStatement cstmt = null;
                try {
                    cstmt = getConnection().prepareCall("begin DBMS_DEBUG_JDWP.CONNECT_TCP( '10.1.1.17', 4000); end;");
                    cstmt.execute();
                } catch (SQLException e) {
                    e.printStackTrace();
                } finally {
                    closeStatement(cstmt);
                }
调试器成功连接,即我可以在sql developer中的
运行管理器中看到连接存在

尽管创建了连接,但调试器不工作。有时断点没有绿色标记,有时是,但断点仍然不起作用。在任何情况下,调试器都不会在中断时停止,即成功执行调用的过程,就好像没有中断一样

我放置中断的包是为调试而编译的,
启动调试器选项
设置为
单步执行
。我还尝试了
sqldeveloper
3.2.2和3.0.6、3.0.4,使用相同的行为。我从“Sql Developer”和从应用程序使用的用户相同,并且该用户具有调试权限(
调试连接会话
调试任何过程
)。我没有办法使它工作


下一步要尝试什么,如何诊断此问题?

我发现了根本问题。这不是关于oracle,而是关于应用程序服务器和与数据库的连接。我在一个bean中附加调试器,在另一个bean中调用plsql过程。由于他们在同一个事务中,我认为应该共享连接,但事实并非如此。所以我把调试器附件移到了调用过程的bean上,现在它工作得很好。

会话是否打开了PL/SQL调试?ALTER SESSION SET PLSQL_DEBUG=True您在使用RAC吗?如果是这样,您需要连接到一个特定的节点。@Brian,这没有任何效果。我发现了根问题,并将添加一条注释。@jonearles,说得好,但我使用的是同一个节点。我发现了根本问题。这不是关于oracle,而是关于应用程序服务器和与数据库的连接。我在一个bean中附加调试器,在另一个bean中调用plsql过程。由于他们在同一个事务中,我认为应该共享连接,但事实并非如此。所以我只是将调试器附件移到了调用过程的bean上,现在它工作得很好。@michaelnesterenko请将注释移到一个答案:)