Debugger skips past breakpoints

bergerac

Member
I'm trying to debug some code using PL/SQL Developer's debugger but am finding it impossible because it keeps skipping past breakpoints.
If I step through the code with a test case line by line I can see that it's happily progressing to a given point, but the if I put a breakpoint there and run the debugger it just whirrs away for a while and then jumps right to the end.

The package I'm debugging has been compiled with debug information, as have all other packages that it calls.
I've also tried unticking the "Step over SYS objects" option in preferences just in case, but neither has worked.

Can anyone help? It's turning what should be a simple task into a real nightmare as the package is huge.
 
Yeah sure. In the end I got quite desperate so put in lots of breakpoints throughout to try to get it to stop before fully executing the entire package.
Even more strangely, this first one is in the topmost level package and it works:

**BREAKPOINT HERE** before call to PKG_MA98_ICE_INTERFACE.sp_get_mpan_data_rc

PKG_MA98_ICE_INTERFACE.sp_get_mpan_data_rc(p_account_reference => p_account_reference, -- IN
p_ice_customer_id => p_ice_customer_id, -- IN
p_gt_mpan_data => lv_all_mpan_details);

But then none of these (or any subesequent) breakpoints within PKG_MA98_ICE_INTERFACE.sp_get_mpan_data_rc worked. The debugger just skipped past them:

BEGIN
**BREAKPOINT HERE**
v_date := add_months(SYSDATE, 6);

v_ma98_site_id := fn_convert_hh_prod_to_ma_site(p_account_reference);

v_site_contract_id := fn_latest_contract_for_site( p_vsite_id => v_ma98_site_id,
po_site_name => l_site_name,
pi_ice_customer_id => p_ice_customer_id );
**BREAKPOINT HERE**
IF p_start_date IS NULL
THEN

The above package (and all other packages involved) have been compiled with debug information. If I step through the code manually with the same test case, it progresses to, and a long way past, these breakpoints. But if I just run the debugger and let it go, it skips past them to the very end of the code.
 
I am seeing behavior where the debugger commands seem to be ignored also. When I am running a test of a function or procedure in a package, and I attempt to run it in the debugger, the "step into" button acts like the run button and executes the entire function or procedure. This has happened many times recently. Sometimes I can restart PL/SQL developer and get the behavior to stop. Other times, I have to reboot my machine, if I recall correctly, to get it to behave as normal.

I have been using the debugger for years, and I think the first time I noted this issue was about 3 months ago (give or take).

EDIT - it looks like my package did not have the debug information. When I selected to add the debug information to the package, and then recompiled, the debugger is now allowing me to step through as normal. Was the need to add the debugger information to a package, before debugging, something that was added to PL/SQL developer recently? Were the former versions of the tool adding this by default in the past? I haven't had to do this as a separate step in the past to get a package to let me debug within it's member functions.
 
Last edited:
Back
Top