Release 10.1A: OpenEdge Development:
Debugging and Troubleshooting

> ## Enabling debugging

> Prior to running the Debugger on an OpenEdge installation that contains a 4GL interpreter, you must enable the system for debugging. Attempts to run the Debugger without first enabling debugging result in an error message.

> Debugging is initially disabled because it opens a potential security hole. When running the Debugger, you can examine and modify internal variables and database fields. In a production environment, this means that someone could access sensitive business data while in the Debugger. For this reason, Progress Software Corporation strongly recommends that you avoid using the Debugger on a production system.

> During application development, however, you can choose whether to selectively enable and disable debugging or enable it after installation and leave it enabled for the duration of the development cycle.

> | To enable debugging, use the `proDebugEnable` command.

> Here is the syntax for the command:

> Syntax
>     proDebugEnable {-disable-all|-enable-all}

> `disable-all`

> Disables all interpreters that are part of the installation from which you are executing the command. Specify this parameter to disable debugging on an installation where it was previously enabled.

> `enable-all`

> Enables all interpreters that are part of the installation from which you are executing the command

> To further secure the debugging facility, you must have the right privileges to execute this command: root privileges on UNIX and administrator privileges in Windows.

> Note the following about enabling debugging:

> - The proDebugEnable command controls debugging of 4GL interpreters running on the machine where you execute it. It does not affect running of the Debugger user interface. So, for example, if you want to run the Debugger on one machine to debug a 4GL interpreter that is on another machine (across a LAN), you must run proDebugEnable on the machine where the interpreter is running.

> - If you install OpenEdge on machine1 and do a network install onto machine 2, you must run `proDebugEnable` on machine 2 to debug a 4GL interpreter that is running on machine 2.

> - If you install multiple instances of OpenEdge on the same machine, each instance will have its own copy of `proDebugEnable`, and each copy will affect only the debugging capability in its instance.

> Thus, you can run an application system and a production system on the same machine, and control debugging separately for each system.

> - If you anticipate that you might want to use the Debugger, execute proDebugEnable before starting the 4GL. If you decide you want to debug after starting the 4GL, you will have to shut down the 4GL, enable debugging, and then restart the interpreter.

> - If you want to debug an AppServer or WebSpeed agent, you also must set the appropriate `debuggerEnabled` property to `1` in the `ubroker.properties` file, in addition to enabling debugging with the proDebugEnable command.

> Note: The default value for the `debuggerEnabled` property is `0`.

Copyright © 2005 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095