# BREAK key

While a system process is running, it remains in control of your terminal. Typically,
 you want the system process to complete its work and return control to the TCL level. If you press
 BREAK while a process is running, you will suspend the process and drop into a
 debugger.

The debugger is used to examine the state of a program as it is executing. The system debugger
 is identified by an exclamation mark (!) prompt.

 Use the following debugger commands as needed:
| Command | Description |
| --- | --- |
| G | Enter this command when you unintentionally break out of a program and need to resume the execution of the process. |
| END | Enter this command to terminate the suspended process and return to TCL. |
| OFF | Enter this command to log off the system. |

 For example, to exit to the TCL prompt from the system debugger, type
 END and press Enter.

 CAUTION: Be extremely cautious in exiting a process because it might have been
 updating items in a file. Consult with your system administrator if you enter the debugger
 unexpectedly.

 The BREAK key can be enabled or disabled using the break-key-on macro and
 break-key-off macro, respectively. By default, the BREAK key is enabled. It
 can be disabled by placing **B** in Attribute 9 of the Account Definition item.Note: End-user
 applications usually disable the BREAK key. This action denies users access to the
 debugger.

## Telnet

Determine what BREAK sequence your client supports. Some Telnet clients do not support hard
 breaks. The Telnet protocol defines both the BREAK and IP (Interrupt Process) codes. Both of
 these codes are used by Telnet to generate a BREAK-KEY signal to the server line. If your Telnet
 client supports neither of these, choose a soft break using a control character, such as Ctrl+C,
 and then use the set-break command from TCL to set that character as a soft
 break key for your line.

 To stop executing the statements stored in the file item, press BREAK. Even though all of the
 statements in the file item have not been executed, they will all be stored in the stack.

 A helpful practice is to create a standard file called TC (for Terminal Commands) to which you
 can routinely copy (.C) and execute (.R) stack statements.

## See also

- [break-key command](https://d3codex.com/tcl/break-key-command/)
- [break-key-off macro](https://d3codex.com/tcl/break-key-off-macro/)
- [break-key-on macro](https://d3codex.com/tcl/break-key-on-macro/)
- [break statement](https://d3codex.com/pickbasic-flashbasic/break-statement/)
- [brk-debug command](https://d3codex.com/tcl/brk-debug-command/)
- [brk-level command](https://d3codex.com/tcl/brk-level-command/)
- [set-break command](https://d3codex.com/tcl/set-break-command/)

---
Source: https://d3codex.com/tcl/break-key/ - part of the D3Codex reference.
