Many CPUs support an instruction that can be used to halt execution and notify an attached debugger that something happened. Intel x86 has "int 3", MSP430 has opcode 0x4343 and ARM cortex can use "bkpt #0x0", for instance.
These instructions allow debuggers to add breakpoints without consuming hardware resources on the target, but also provide a useful way for code on the target to break into the debugger on error conditions. Trap ISRs and asserts can be made much more powerful if they can actually break in the debugger rather than just entering an infinite loop or sending some text output.
It would be really helpful if the TI compiler provided an intrinsic, similar to __no_operation(), which would emit the appropriate software breakpoint opcode for the target platform (assuming it has one). Does that sound feasible?