By default debugger is disabled in oracle 10/11g. The debug menu is grey out.
Resolution:
User need to have the ‘DEBUG CONNECT SESSION’ privilege granted. If not granted, the debugger icons will be disabled in the Procedure Editor.
Solution:
1. Grant debug any procedure to user_name;
2. Grant debug connect session to user_name;
3. GRANT EXECUTE ON DBMS_DEBUG to public;
( If DBMS_DEBUG is missing, Run it with SYS User)
GRANT EXECUTE ON DBMS_DEBUG to HR;
GRANT DEBUG CONNECT SESSION TO HR;
GRANT DEBUG ANY PROCEDURE TO HR;
CREATE OR REPLACE PROCEDURE debug_test
AS
var NUMBER:=0;
BEGIN
dbms_output.put_line('First step, var = ' || var);
var:=var+1;
dbms_output.put_line('Second step, var = ' || var);
var:=var+1;
dbms_output.put_line('Third step, var = ' || var);
var:=var+1;
dbms_output.put_line('Fourth step, var = ' || var);
var:=var+1;
dbms_output.put_line('Fifth step, var = ' || var);
var:=var+1;
-- Final line stores the VAR value as 5.
END;
/
There are two types of
debugger  in toad.  DBMS Debugger and Script Debugger .
By Default dbms_debugger is
greyed out and when user gets  the
desired privilege thse options are activated .
1.Trace into :
1.     2.  Set parameters
1.      3.  Pointer comes to 1st line
before create or replace statement.
1.       4.Set watches (✓enable smart
watch left pane ) by right click tool bar.
1.      5.  Click on Trace into continuously
and see how the value of  the variable
changing in watch.  
Trace into : à ‘Var ‘ 
Value is 0  : Line no .5 
.
Trace
into : à
‘Var ‘  Value is 0  : Line No. 6
Trace into : à ‘Var ‘ 
Value is 1   : Line No.7
That means  The value increases
after  execution of Var = Var+1 and when
the pointer  moves 
To
next line. 
Hover the mouse on Highlighted line and the variable value will be displayed.
DBMS_OUTPUT Lines :
Fourth step, var = 3
Fifth step, var = 4
First step,  var = 0
Second step, var = 1
Third step, var = 2
Fourth step, var = 3
Fifth step,
var = 4
The
Last  Var = Var+1  holds Value 5 : line no. 14