I am trying to remote debug a package using SQL Developer.
I've added the following line to the package:
DBMS_DEBUG_JDWP.CONNECT_TCP( '18.104.22.168', 4000 );
Compile for debug
add some break points.
I start a Debug Listener on port 4000.
Then call the procedure from another session.
A debugger session opens up in SQL Developer, but the procedure never stops at any of the break points. It simply runs to the completion w/o stopping.
There is a debugger window w/ the following message:
Debugger accepted connection from database on port 4000.
but no stack. The procedure finished normally.
Has anyone else seen where the breakpoints are ignored in a remote debugger session?
Oracle Database 11g Enterprise Edition Release 22.214.171.124.0 - 64bit Production
Oracle SQL Developer (3.2.20.09)
Following your suggestion, I put break point on 6 lines following the DBMS_DEBUG_JDWP.CONNECT_TCP call.
3 of those lines are code lines. I also have 2 break points on code lines in a procedure being called at one of those 6 lines.
I have no problem hitting those stops if I 'Run as Debug'... but they are ignored when doing the remote debug.
In the remote debug session I do see all the break points lists in the Breakpoints tab. I'm very confused.....
An experiment -
Tools > Preferences > Debugger
Start Debugging Option:
- Step Over
Try this. This allows you to start a debug session sans breakpoints. You can then step over or into your code once the debugger session 'attaches.' I believe this will work for remote...
Good suggestion, but I already had that debugger property set.
I got it working! What I didn't realize was that you need to be logged into the database with the same credentials in both the local and remote session. I was trying to debug as the package owner and executing the procedure using our 'web' runtime user id.......
I learned that the break points are userid specific.
Thanks for all your great suggestions!