1.常规方法可以自己改写下 hardfault handle,把错误信息保存或者发出来,可以参考开源项目 cm backtrace,或者rtthread里的错误写法,或者m3m4 权威手册里的写法
2. 你这种工况,骚操作也可以把 st link 设置成热插拔模式,直接就能连上看寄存器和内存信息,分析二进制去搞逆向,比如了解异常机制,可以反推异常发生的 pc 位置来定位;分析内存也能分析出一些问题,比如程序里_tx_thread_current_ptr 这个变量是指向当前线程控制块,可以通过看map等文件得到这个变量的地址,从这里找到线程控制块,看name成员也可以推出是什么线程了
3. 想向linux内核一样dump打印栈追溯函数调用信息,会更麻烦些,一般stm32的工程也用不到