In all three modes, you can stack applications. That is, you can run a new application at any interruption point of an executing application. When you do so, the previous application waits on the procedure call stack. The new application can access any shared or global data defined by previous applications stacked in the Debugger context. When the new application exits, it returns control to the Debugger, and the previous application is ready to continue at its current interruption point. When the Debugger exits, it closes all applications stacked in the Debugger context before returning to its startup environment.