### Debug PM Applications

The PM system is message-based. As program events are encountered by PM programs, the programs communicate with each other by passing messages and by receiving user input through input messages. When a PM program encounters an enabled breakpoint, the input queue can become blocked and dependent program events, or processes, can also become blocked as a result. For example, the input queue can become blocked when your program stops at a breakpoint that has been triggered by an input event.

The debugger provides two modes of operation by which PM messages can be processed while the debugger has control. Asynchronous mode prevents the input queue and dependent events or processes from being blocked, but can cause problems for your application in some situations. Synchronous mode avoids these problems, but does not prevent blockages. You can select one of these modes from the Debugging mode group box.