| 
 | Note: Show/Hide PL/SQL Debugger in the Toolbox from the Code Editor toolbar. | 
All the tools and features for debugging stored programs can be found inside the PL/SQL Debugger window.
Use the debugger to perform the following functions:
| Area | Requirement | 
|---|---|
| Oracle server connection | Debugging is functional only when you are connected to an Oracle server via a SQL*Net connection. If you are using a local database, such as Personal Oracle, use the loopback SQL*Net connection to perform interactive debugging. | 
| Oracle Permissions | create session alter session | 
| Debug on/off | To watch, evaluate, or modify variables of a stored program: Compile the program with debug information: Session Menu | Include Debug Info. | 
| Successful compile | If the procedure fails to compile, it is displayed in red in DB Navigator. It cannot be debugged. | 
| Feature | Description | 
|---|---|
| Locals tab | Use the Locals tab to test the effect of different variable values in your procedure. Example Scenario: Your procedure performs a computation. Start the procedure, enter a starting value and watch how the procedure handles the result. If you want to see a "what if" computation, enter a new value for the variable in the Locals tab and repeat the procedure. Note: 
 | 
| REF CURSOR type variables | When evaluating/watching a variable of REF CURSOR type, its value is displayed in the following format: flags:FFF, rowcount:RRR. RRR determines the number of records fetched so far by the examined cursor. FFF is a combination of cursor status flags: %ISOPEN %FOUND %NOTFOUND If the user enters the watched variable names as C1%NOTFOUND, C1%FOUND, C1%ISOPEN, C1%ROWCOUNT, the displayed value is the same as would result from watching the cursor itself. (C1 is the name of the cursor) | 
| Watches and Breakpoints | You can set breakpoints and watches at any time before or during a debug session. You do not have to recompile your program after you set breakpoints or watches. Add/remove breakpoints by clicking in the gutter margin left of the code.  When execution of a procedure is paused at a breakpoint, you can evaluate or modify any scalar variable within procedure code. If you change the value of a variable, you can confirm the new value of the scalar variable by evaluating the variable again. Note: 
 |