VS Code中定位HardFault的方法

相关概念:

LR(Link Register),连接寄存器的英文缩写,在ARM体系结构中LR的特殊用途有两种:一是用来保存子程序返回地址;二是当异常发生时,LR中保存的值等于异常发生时PC的值减4(或者减2),因此在各种异常模式下可以根据LR的值返回到异常发生前的相应位置继续执行。

异常之后打开调试控制台:


Untitled.png

在控制台中输入:

list *context->exception_stack_frame.lr

此时会显示lr部分的代码:

Untitled 1.png

此时按住Ctrl点击代码路径即可在编辑器中打开出错位置的代码,如无法跳转请在VS Code配置文件c_cpp_properties.jsonincludePath中添加对应代码库的路径后重试。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容