As far I know (I may be wrong) JTAG is disabled by default anyway, on I.MX.RT. , instead SWD is used. But this would work too.
Edit:
No, the other way round. SWD is disabled on Teensy.
I think it's a problem to enable HW-Debugging and keep the bootloader internals secret?
Then, I think, faults for division by zero are disabled, too (but there is a bit to enable them)
A Stack trace is not possible without debugger. The ARM-ABI does not define where on the stack is the return address.
GCC -unwind-tables would help, perhaps, but I was unsuccessful to get it work (Linker errors). Likewise -mpoke-function-names. So, a trace is currently out of reach, too (I you find a way to use these both switches, it would be helpful)
But I found a good way to print hardfaults. Maybe I publish some code or a library for this, but the general interest seemed pretty low so far. It isn'nt that useful without a stacktrace, too.
Yes the ESP is - regarding to things like these - fun.
And beginners see a errormessage, at least - they know "oops, something was wrong" - not a silent crash like with Teensies where nobody knows what happened, and without the slightest hint what may have happened.
Not beginner friendly.
I hope there is *something* to solve that on Pauls TODO (and not with a low priority). I was begging many many years for at least a dedicated Error-LED
When the next Teensy with 2 cores comes, we NEED better debugging.