Use builtin debug break functions

Updates to use builtin GCC/LLVM functions for triggering execution breaks rather than interrupts, this update now covers all supported compilers, including non-x86 architectures.  Required for proper ARM debugging.