You can debug a Progress Application Server (PAS) for OpenEdge instance using the following methods:
  • Local debugging.
  • Remote debugging.

Progress Developer Studio for OpenEdge allows debugging an Progress Application Server (PAS) for OpenEdge application using both the methods.

Prerequsities for enabling debugging

Debugging support for Progress Application Server (PAS) for OpenEdge environments is provided by the oedbg.war application. Deploy the oedbg.war in the PAS instance to enable debugging on that PAS instance.

You can only debug code running on Progress Application Server (PAS) for OpenEdge if it is in a development environment.

Note: It is not recommended to deploy the oedbg.war application in a production environment.

Deploy oedbg.war (Linux)

Follow these instructions to deploy oedbg.war application to an exisiting instance or a new instance that you create:
  1. Change the instance to CATALINA_BASE\bin directory before runnning the tcman deploy command.
  2. Run the following command:
    proenv>tcman deploy $DLC/servers/pasoe/extras/oedbg.war
Note: For Microsoft Windows, you do not have to deploy the oedbg.war application because the Progress Application Server instance oepas1 is shipped with the Progress Developer Studio and it has the oedbg.war application deployed in it.

Run proDebugEnable utility

System administrators can enable debugging for development instances of PAS for OpenEdge by using the proDebugEnable utility.
Note: You must run the Proenv as an administrator to enable debugging.

To run the proDebugEnable command-line utility:

  1. Run the Proenv command shell.
  2. Enable debugging:
    prodebugenable -enable-all
    Note: In Linux, use proDebugEnable -enable-all to enable debugging.

    A confirmation message indicates that debugging is enabled. You set the ENABLE_OPENEDGE_DEBUGGER environment variable at the operating system level. When you do so, set the value of the variable as either yes or true.

  3. Debugging remains enabled unless you explicitly disable it. If you did not set the ENABLE_OPENEDGE_DEBUGGER environment variable, then you can disable debugging simply by entering the following command from the Proenv window:
    prodebugenable -disable-all
    Note: In Linux, use proDebugEnable -disable-all to disable debugging.

    A confirmation message indicates that debugging is disabled. If you set the ENABLE_OPENEDGE_DEBUGGER environment variable, you must also remove the variable.

Local debugging

You can use local debugging only if your Progress Application Server (PAS) instance is configured in the Progress Developer Studio Servers view using OpenEdge Explorer.

Follow these instructions to debug a Progress Application Server (PAS) instance:
  1. From the Servers view, select the PAS instance you want to debug.
  2. Right click on the PAS instance and select Restart in Debug to launch the Progress Application Server (PAS) instance in debug mode.


  3. From the Developer Studio menu, select Window > Perspective > OpenPerspective > Debug to change to Debug Perspective and view all the active sessions in the debug view.


  4. Select the source file in the Project Explorer view and set the breakpoint in the client program by double-clicking along the left-edge of the line that you wish to begin debugging on. This will show a small dot (.) to the left line if you have successfully set a breakpoint.


  5. Publish the source files to the Progress Application Server (PAS) using either Servers view, or copy the source file to the Progress Application Server (PAS) instance publishing location at C:\OpenEdge\WRK\oepas1\openedge.
  6. From the Developer Studio menu, select Run > Run to run the client.

    This will hit the breakpoint that you have set in the source file and the Debug view is updated with the current stack frames where the debugger control is stopped.

  7. In the Debug view, you can view the session that processed the request. For example, the Session with ID 7 processed the request and hit the breakpoint on line 74.
    Note: The debugger control is highlighted in the editor.

    From this point onwards, you can use the standard debugger controls like Step Over (F6), Step Into (F5), or Cotinue (F8) to move the debugger to the next line or into a module, resume and other such actions.



Remote debugging

Use remote debugging if you have a PAS instance running on a remote machine (or even a local machine) and you do not have a Developer Studio Servers view configured with the OpenEdge explorer connection to debug your PAS instance.

You can also use the remote debugging method when the PAS instances are setup on a remote Linux machine and there is a need to debug an application that is deployed on that instance. For such scenarios, you can use the remote debugging if you do not want to configure the Servers view.

Follow these instructions to debug a Progress Application Server (PAS) instance on a remote machine:
  1. Deploy the oedbg.war application on the PAS instance. For more information, refer to the "Deploy oedbg.war" section above.
  2. Enable debugging for development instances of PAS for OpenEdge by using the proDebugEnable utility. For more information, refer to the "Run proDebugEnable utility" section above .
  3. Select the PAS instance in the Servers view and select Run > Debug Configurations from the main menu to create a remote debug configuration.


  4. Double-click on the Progress External OpenEdge AVM node in the Debug Configurations window to create a new external OpenEdge AVM.


  5. Enter the following in the newProgress External OpenEdge AVM configuration window.

    • Connection Type—Select Progress Application Server from the drop-down box.
    • Host—Specify the IP address of the host where the PAS instance is running.

      Specify localhost if the PAS instance is running on your local machine.

    • Debug Port—Specify the debug port of the PAS instance.
      Note: The debug port and the HTTP port are always same for the PAS instances.
    • Password—Specify a password for the PAS instance.
    • Application Name—Specify the PAS instance name.
  6. Click Debug to allow the Developer Studio to connect to the PAS debugger and populate the Debug view with the details of the active sessions on the PAS instance.
  7. Import all the sources of the application that you want to debug into the PDS workspace to allow the Developer Studio debugger to work on the sources.

You can now set breakpoints in the source and run your client. Once the breakpoint is hit, the debugger will update the Debug view with the stack frames. The debugger will highlight the current line where the debugger stopped. From this point onwards, you can use all the standard debugger controls line Step Into (F5), Step Over (F6), Continue (F8), and other such actions.

For more information, see Debug an ABL application deployed on a Progress Application Server for OpenEdge.