Release 10.1A: OpenEdge Development:
Debugging and Troubleshooting

> ## Using the DEBUGGER system handle to start and control the Debugger

> Any technique you use to run the Debugger from the 4GL runs the Debugger in either application or stand-alone mode. (For an introduction to application and stand-alone mode, see Chapter 1, " Introduction.") Each technique allows your application to interact with the Debugger context in a different way, allowing more or less control of the Debugger from your invoking application. These techniques are:

> - Application mode — A 4GL program calls the `INITIATE( )` and `SET-BREAK( )` methods. At the first breakpoint specified by the `SET-BREAK( )` method, the Debugger runs and takes control of the procedure in which the breakpoint is set as the initial procedure in the Debugger context. In effect, the invoking procedure debugs itself. You can use this technique to implement a Debugger tool that debugs a specified subprocedure under 4GL control, and optionally make the invoking procedure invisible to the Debugger context.

> - Stand-alone mode (as a tool of your application) — A 4GL program calls the `DEBUG( )` method. The invoking procedure blocks until the Debugger returns (exits). In effect, the Debugger runs as a subroutine or tool of the invoking procedure and can debug only procedures you run from the Debugger. In other words, the invoking procedure is not part of the Debugger context.

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