The Integrated Debugger is a very powerful tool for those problems that are hard to fix. And yet it is very easy to use. No extra actions or conversions are needed and no limitations exist. Just execute the program unit in the Debugger and step through your code. You can step into any program unit, including triggers and types. Breakpoints can be set or removed by simply clicking in the left margin of the Debugger or Program Editor. You can additionally define conditions and messages for breakpoints.
Variable values can be examined in the Debugger by moving the mouse cursor over the variable name in the source. In the screenshot above, the mouse cursor is moved over the 'p_DeptNo' variable and its value is automatically displayed in a popup. You can set the value of a variable in a similar way. You can also execute queries and other SQL commands within the debug session, and fetch the dbms_output text while the debugger is running.
When an exception occurs, the Debugger will take you to the line that causes it and you are able to view variable values at the time of the exception. This can obviously be very helpful to find the cause of the exception.
On Oracle8i or later, you can use the Test Window's Trace facility to trace the execution of your PL/SQL code. You can configure which events you want to trace: Calls, Exceptions, SQL, or even every executed line of PL/SQL code.