When Mathematica
executes code from a breakpoint-marked line, execution halts and
you can see the state of the Mathematica evaluation
stack and local variables. From a breakpoint you can then continue
execution, or you can step to other parts of the computation.

The Mathematica evaluation stack

Local variables at a breakpoint
You can also set a breakpoint to occur when a message is
generated. This is particularly useful for tracking problems because
typically when code starts to fail, it generates an error message.