Progress
Debugger Guide


Debugger and Application Control

In general, either the Debugger or the executing application has control during a debugging session. The Debugger has control when no application is running or the running application is interrupted, for example, at a breakpoint. When the Debugger has control, it can send commands to the client process for execution. The application has control whenever it is being executed by the client, for example, in response to a Debugger control flow command. When the application has control, it interacts with the user and database as if the Debugger were not running.

Application Interaction During Debugger Control

When the Debugger has control, the application is blocked. At this point, the client application is waiting to execute a line of code. The application continues to wait until you give the Debugger a control flow command such as STEP or CONTINUE.

While the Debugger has control, any input you try to enter in the application window is handled differently depending on your window system. In Windows, application input is ignored while the Debugger has control. In OSF/Motif, application input is queued in the system until the Debugger returns control to the application.

Also, unlike Windows, the Motif environment defers application window refresh to the application itself. For example, in Motif, if the application window is covered by another window and you raise it to the top while the Debugger has control, the covered portions remain blank. The application does not refresh its window until you transfer control back to the application from the Debugger with a control flow command.

Debugger Interaction During Application Control

If the application has control (is executing) and you try to execute commands in the Debugger window, the Debugger commands queue up until the Debugger receives control (for example, when the application reaches a breakpoint). You can force the Debugger to receive control during procedure execution by invoking the break interrupt function from the Debugger window, but this also purges all Debugger commands from the command queue without executing the commands.


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