~ [[. | # | ddd | *]] [[threadspec]] bp [[id]] address [[value]] [[command-string]]
Creates a "sticky" breakpoint at the given address. Sticky breakpoints stop execution and display the current values of all registers and flags. Sticky breakpoints remain in the program until they are removed by the bc command or temporarily disabled by the bd command.
If threadspec is given, breakpoints are set on the specified threads. For example, the ~*bp command sets breakpoints on all threads; ~#bp sets a breakpoint on the thread causing the current exception; and ~123bp sets a breakpoint on thread 123. The ~bp and ~.bp commands both set a breakpoint on the current thread.
The debugger supports up to 32 breakpoints, which are numbered 0 through 31. The optional id parameter specifies the number of the breakpoint to be created. If id is not given, the first available breakpoint number is used.
The address parameter can be any valid instruction address (it must be the first byte of an instruction).
The optional value parameter specifies the number of times the breakpoint is to be ignored before being taken. It can be any 16-bit value.
The optional command-string parameter specifies a list of commands to be executed each time the breakpoint is taken. This command-string is executed only if the breakpoint is from a g command (and not from a t or p command). Debugger commands in the list can include parameters; the commands are separated by semicolons (;).