Print Thread
Page 1 of 3 1 2 3
V8 bug: breaking a debug on 11g database behaves like step out
#35827 10/01/09 03:30 PM
Joined: Dec 2005
Posts: 2,004
Roima Denmark
Member
OP Offline
Member
Joined: Dec 2005
Posts: 2,004
Roima Denmark
I am debugging a method inside a database package in 11g version 11.1.0.7.0. When the debugger stays inside the initial package, I can break (stop) the debugger almost every time, but when the debugger calls into a method in another package, I can not break the debugger immediately. Instead, it behaves like step out (Ctrl-T), i.e. each time I press the break button, the debugger goes to a line in a method at a call level 'above' the current line.

As I recall, this was also a problem in one of the early 8a versions, but that time with a 10g database.

Could this behaviour be corrected with a high priority, as this stops me from debugging effectively on a 11g database.

Re: V8 bug: breaking a debug on 11g database behaves like step out
Claus Pedersen #35831 10/01/09 09:48 PM
Joined: Dec 2005
Posts: 2,004
Roima Denmark
Member
OP Offline
Member
Joined: Dec 2005
Posts: 2,004
Roima Denmark
BTW: if you try to close the test window, and select Terminate in the following dialog, you can watch PLD go to all the 'breakpoints' before closing the window.

Re: V8 bug: breaking a debug on 11g database behaves like step out
Claus Pedersen #35848 10/02/09 11:18 AM
Joined: Aug 1999
Posts: 22,232
Member
Offline
Member
Joined: Aug 1999
Posts: 22,232
I checked this on 11.1.0.6 and it works fine. I will try this on 11.1.0.7 as well.


Marco Kalter
Allround Automations
Re: V8 bug: breaking a debug on 11g database behaves like step out
Marco Kalter #35863 10/02/09 01:09 PM
Joined: Dec 2005
Posts: 2,004
Roima Denmark
Member
OP Offline
Member
Joined: Dec 2005
Posts: 2,004
Roima Denmark
I am getting an Oracle error now.

I make a test script where I test a method in a package (P1) containing approx. 2100 lines of code. This method in turn calls a method in another package (P2) containing approx. 6400 lines of code.

I make a breakpoint in the method in P2. When I run the test script to the breakpoint and break the debugger, I get the error:
Code
ORA-00604: error occurred at recursive SQL level 1
ORA-06510: PL/SQL: unhandled user-defined exception
ORA-06512: at "SYS.PBREAK", line 1080
ORA-06512: at "SYS.PBSDE", line 201
ORA-06510: PL/SQL: unhandled user-defined exception
ORA-06512: at line 1
File debug.sql will be sent to support.

Re: V8 bug: breaking a debug on 11g database behaves like step out
Claus Pedersen #35865 10/02/09 02:41 PM
Joined: Dec 2005
Posts: 2,004
Roima Denmark
Member
OP Offline
Member
Joined: Dec 2005
Posts: 2,004
Roima Denmark
A simple test script:
Code
BEGIN
  :num1 := to_number ('3');
  :num2 := to_number ('4');
END;
Enter debug mode. The cursor is at the first line. Pressing the Break button, the cursor moves to the second line. Pressing Break again breaks the execution.

Performing the same steps again (in same test window), this time results in a delay of some seconds (depending on the connection to the database) and showing of message "ORA-01013: user requested cancel of current operation"

Performing the same operation again results in the first described behaviour (without message) and the behaviour shifts back and forth.

Re: V8 bug: breaking a debug on 11g database behaves like step out
Claus Pedersen #37133 01/28/10 09:48 PM
Joined: Dec 2005
Posts: 2,004
Roima Denmark
Member
OP Offline
Member
Joined: Dec 2005
Posts: 2,004
Roima Denmark
Any news on this? It has become quite an annoying business to debug code on an 11g base.

Re: V8 bug: breaking a debug on 11g database behaves like step out
Claus Pedersen #37140 01/29/10 01:29 PM
Joined: Aug 1999
Posts: 22,232
Member
Offline
Member
Joined: Aug 1999
Posts: 22,232
This is still under investigation.


Marco Kalter
Allround Automations
Re: V8 bug: breaking a debug on 11g database behaves like step out
Marco Kalter #37584 03/11/10 02:43 PM
Joined: Mar 2010
Posts: 1
J
Member
Offline
Member
J
Joined: Mar 2010
Posts: 1
I'm using 8.0.1.1502 and am getting slightly different issue around debugging. As soon as an error is raised developer hangs. Break can sometimes sort it out but sometimes just need to kill the windows process. This makes debugging almost impossible.

declare
PROCESSING_E exception;
pragma exception_init ( PROCESSING_E, -20099 );
begin
raise PROCESSING_E;
end;

Running the above is fine but if you debug through by stepping over every line after stepping over the raise statement developer hangs for a few seconds then seems to return - run, step into, etc. buttons become enabled but no error is raised. The only way to progress is hit break a number of times (and the number does seem to vary). At some point a ORA-01013 error is returned - after hitting OK the error is raised five or six times. In a more complex program often no ORA error is returned and therefore its impossible to get control back.

Re: V8 bug: breaking a debug on 11g database behaves like step out
Jules #37757 04/07/10 08:11 PM
Joined: Dec 2005
Posts: 2,004
Roima Denmark
Member
OP Offline
Member
Joined: Dec 2005
Posts: 2,004
Roima Denmark
Thanks Jules for a very nice example.

I have given it to our DBA, who has run it on Toad, but it did not hang up. But on the other hand, the debugger in Toad does not singlestep the code like PL/SQL Developer does. It seems more like like it sets a breakpoint and run to that breakpoint. But anyway, the ORA-20099 always comes up on Toad.

Can anyone try to reproduce this with Oracle SQL Developer?

Marco, how are the investigations comming?

Re: V8 bug: breaking a debug on 11g database behaves like step out
Claus Pedersen #37758 04/08/10 08:53 AM
Joined: Dec 2005
Posts: 2,004
Roima Denmark
Member
OP Offline
Member
Joined: Dec 2005
Posts: 2,004
Roima Denmark
I have tried today with Oracle SQL Developer. This debugger works (it does not hang up).

I have made the block from Jules into a procedure TESTER and debugged it in Oracle SQL Developer.

The output from the debugger is as follows:
Code
Connecting to the database scott11.
Executing PL/SQL: ALTER SESSION SET PLSQL_DEBUG=TRUE
Executing PL/SQL: CALL DBMS_DEBUG_JDWP.CONNECT_TCP( <IP>, '1893' )
Debugger accepted connection from database on port 1893.
Exception breakpoint occurred at line 8 of TESTER.pls.
$Oracle.EXCEPTION_ORA_20099: 
ORA-20099: 
ORA-06512: at "SCOTT.TESTER", line 7
ORA-06512: at line 2
Executing PL/SQL: CALL DBMS_DEBUG_JDWP.DISCONNECT()
Process exited.
Disconnecting from the database scott11.
Debugger disconnected from database.

Maybe someone can figure out, what Oracle does differently from PL/SQL Developer.

Marco, you must really try to find a solution to this. My company are installing more and more 11g databases for our customers and if the developers/support teams are not able to debug properly without loosing data and potentially locking the customers tables because of a hanging debug session, we may have to be forced to look at other development tools for debugging porposes eek

Page 1 of 3 1 2 3

Moderated by  support 

Link Copied to Clipboard
Powered by UBB.threads™ PHP Forum Software 7.7.4
(Release build 20200307)
Responsive Width:

PHP: 7.1.33 Page Time: 0.047s Queries: 14 (0.019s) Memory: 2.5676 MB (Peak: 3.0408 MB) Data Comp: Off Server Time: 2024-06-16 13:07:26 UTC
Valid HTML 5 and Valid CSS