Multitier Application Debugging Mode

The Multitier Application Debugging mode allows you to seamlessly debug both .NET and PL/SQL code from within a single Visual Studio instance. You can step directly from your .NET code into the PL/SQL code and back out again, passing live data and debugging that data. This is most useful in client server applications (rather than ASP.NET web applications).

This section contains the following topics:

How Multitier Application Debugging Works

When an application being debugged from within Visual Studio executes a PL/SQL program that contains an enabled breakpoint, the debugging process switches from the application tier (for debugging the application) to the database tier (for debugging the PL/SQL program). It stops at the enabled breakpoint of the PL/SQL program.

From there on, you can use the Oracle PL/SQL Debugger to control the PL/SQL program execution and examine debugging information. When the PL/SQL program finishes executing, the debugger switches back to the application tier.

The Debug Location Toolbar displays Oracle Debugger once the Oracle PL/SQL Debugger starts. You can use the Debug Location Toolbar to switch between the tiers.

Requirements for Multitier Application Debugging

Prior to using Multitier Database Debugging, perform all the setup requirements listed in PL/SQL Debugging Setup.

Before Using Multitier Application Debugging

Before using Multitier Application Debugging, you must do the following:

  • Set breakpoints

    In multitier application debugging, the Step Into command does not work on a PL/SQL program called from an application. Therefore, you must set at least one breakpoint each in:

    • The PL/SQL program being called from the application.

    • The calling application, at some point after the call to the PL/SQL procedure or function.

    If there is no breakpoint in the application, the debugger does not stop when it returns to the application tier, it simply continues to execute.

  • Select Application Debugging from the Tools menu to enable multitier application debugging.

  • Verify that the ODP.NET config file (machine.config, web.config, or app.config) of the application does not have ORA_DEBUG_JDWP value set. If it is set, disable it.

Debugging a Multitier Database Application

For a detailed guide in using multitier database application debugging, follow the steps in the Debugging Setup Checklist.