PL/SQL Developer: debugger

We've just purchases PL/SQL Developer. One of the interesting features is the debugging tool. As database administrator, I'm, of course, concerned about performance and reliability.
Can someone tell me a little bit more about the technology behind the debug-feature? What Oracle Server procedure/packages are used for this? Does the "debug information" added to the code slows it down in any way? Can I allow debugging on production databases?

Thanks for any feedback,

Peter
 
It used the built in Oracle dbms_debug package (I think thats the one).

It does add overhead, production compiles should be without debug info ALWAYS!

I think that it is REAL BAD to allow debug runs in production (and I am a developer faced with this right now, but I don't think it should be allowed). There should be an almost mirror image of the production DB for trouble shooting and development.
 
Another thing is that sometimes the debugger might 'hang'. This might be the case when using database linkgs, code called by triggers or dynamic sql. It sometimes helps to add a line like i:=dbms_debug.set_timeout(timeout => 60); at the beginning of your debug script.
 
Try this sql (correct now):

select trigger_name from dba_triggers where TRIM(TRIGGERING_EVENT) = ('ERROR')

If you have a trigger with TRIGGERING_EVENT = 'ERROR', is big the possibility of hang. Try disable it and do a test..

If this don't work, see if you have any of this types of trigger too:

'LOGON',
'CREATE OR ALTER',
'CREATE',
'ALTER',
'ALTER OR RENAME',
'LOGON',
'LOGOFF',
'TRUNCATE'

select trigger_name from dba_triggers where TRIM(TRIGGERING_EVENT) in ('LOGON','CREATE OR ALTER','CREATE','ALTER','ALTER OR RENAME','LOGON','LOGOFF','TRUNCATE')

Try disable it too and repeat the test..

Good lucky
 
Back
Top