# b command (FlashBASIC Debugger)

The `b` command establishes a breakpoint condition in the breakpoint table
 that causes the program to enter the BASIC/FlashBASIC debugger when the condition defined in the
 breakpoint expression is met.

The valid comparative operators are: `>`, `A plus sign displays for each breakpoint successfully entered into the table until the
 table is full. In BASIC/FlashBASIC, there is no limit to the number of table entries. When a
 breakpoint is placed in the table, the debugger is entered each time the breakpoint is
 met.

## Syntax

```
{flash.routine.name:}b
{flash.routine.name:}bvariable operator variable
{flash.routine.name:}bvariable operator numeric.literal
{flash.routine.name:}bvariable operator "literal.string"
{flash.routine.name:}bvariable
{flash.routine.name:}b$operator line.number
```
Note: The syntax form, *bvariable*, is
only supported in FlashBASIC. It breaks into the debugger each time
the specified variable changes.

## Example(s)

Sets a breakpoint on line 5.
The breakpoint remains until execution is complete, or it is manually
removed.

```
run bp fred (d
*E1
*b$=5
```
When running FlashBASIC, this command sets a breakpoint
that causes execution to pause every time the subroutine `sally` is entered. A breakpoint set at a nonexecutable comment line is
ignored by the FlashBASIC debugger.

```
*sally:b
```
Note:

- Invoking the FlashBASIC debugger slows down the run-time execution of the program.

- flash.routine.name can only be specified if the program has been optimized through the FlashBASIC compiler. When flash.routine.name is specified, the corresponding debugger command is executed against the specified routine. The colon separating flash.routine.name and the debugger command is required.

## See also

- [BASIC/FlashBASIC Debugger](https://d3codex.com/flashbasicdebugger/basic-flashbasic-debugger/)
- [d command (FlashBASIC Debugger)](https://d3codex.com/flashbasicdebugger/d-command-flashbasic-debugger/)
- [debug statement](https://d3codex.com/pickbasic-flashbasic/debug-statement/)
- [Error condition](https://d3codex.com/pickbasic-flashbasic/error-condition/)
- [Compiling programs](https://d3codex.com/pickbasic-flashbasic/compiling-programs/)
- [k command](https://d3codex.com/flashbasicdebugger/k-command/)
- [down command](https://d3codex.com/flashbasicdebugger/down-command/)
- [Nonfatal error condition](https://d3codex.com/pickbasic-flashbasic/nonfatal-error-condition/)
- [Compiling programs](https://d3codex.com/pickbasic-flashbasic/compiling-programs/)
- [Referencing variables](https://d3codex.com/flashbasicdebugger/referencing-variables/)
- [edit command (BASIC/FlashBASIC Debugger)](https://d3codex.com/flashbasicdebugger/edit-command-basic-flashbasic-debugger/)

---
Source: https://d3codex.com/flashbasicdebugger/b-command-flashbasic-debugger/ - part of the D3Codex reference.
