pl sql コードのデバッグで奇妙な状況があります。
デバッグ接続をリッスンするようにSQL開発者を設定しました。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 開発者でRun Manager
その接続が存在することを確認できます。
接続が作成されているにもかかわらず、デバッガーが機能しません。ブレークポイントに緑色のマークが付いていない場合もあれば、チェックされている場合もありますが、それでもブレークポイントは機能しません。いずれの場合も、デバッガーはブレークで停止せず、正常に呼び出されたプロシージャはブレークがないかのように実行されます。
ブレークを配置したパッケージは、デバッグ用にコンパイルされ、Start Debugger Option
に設定されていStep Over
ます。Sql Developer
同じ動作で 3.2.2 と 3.0.6、3.0.4も試しました。「Sql Developer」とアプリケーションから使用するユーザーは同じで、このユーザーにはデバッグ権限があります ( DEBUG CONNECT SESSION
、DEBUG ANY PROCEDURE
)。それを機能させる方法のアイデアが不足しています。
次に何を試すべきか、この問題を診断する方法は?