'Supported' variables in Auto Debugger

Hi,
I’m trying to demonstrate the Auto Debugger to other members of my team, so I thought I’d just write a very small bit of PL/SQL to demonstrate it. When I try and apply the Auto Debugger to this code:
BEGIN
DECLARE
l_last_name hz_parties.person_last_name%TYPE;
l_first_name hz_parties.person_first_name%TYPE;
BEGIN
FOR r IN (SELECT *
FROM hz_parties
WHERE person_last_name = ‘Williams’)
LOOP
l_last_name := r.person_last_name;
l_first_name := r.person_first_name;
END LOOP;
END;
END;

I get the error message:
‘There were no supported variables or parameters found’

What’s wrong with these variables, and if these aren’t supported, which ones are?

Ben

OK, I’ve answered my own question.

This is supported:
l number := 0;
This is not:
l_last_name hz_parties.person_last_name%TYPE := ‘W’;

If you have a ‘supported’ variable in your package, the auto debugger will add debug info after an unsupported variable has a value assigned, but the debug info is not for the unsupported variable:

l_first_name := r.person_first_name;
– <Toad_56398571_2> *** DO NOT REMOVE THE AUTO DEBUGGER START/END TAGS
DBMS_OUTPUT.PUT_LINE(’{Toad_56398571_2} ‘);
DBMS_OUTPUT.PUT_LINE(’{Toad_56398571_2}[— 2 —]’);
DBMS_OUTPUT.PUT_LINE(’{Toad_56398571_2} ‘);
DBMS_OUTPUT.PUT_LINE(’{Toad_56398571_2}[2] l = ’ || l);
– </Toad_56398571_2>

This could probably be improved!

Ben

It’s extremely simple and doesn’t evaluate more complex types. That
would be a nice ER for the future. It also outputs anything that it can after
every assignment, before exit conditions, after calls to other PL/SQL, etc. It
doesn’t do too much “thinking” about what is appropriate and
what is not at a given insertion point. Too much thinking will decrease
performance and for real debugging you have access to the DBMS or JDWP
debuggers. This is a quick and dirty debugging tool and not a replacement for
the real debugger(s).