借助EspExceptionDecoder工具分析定位esp8266或esp32异常问题

借助EspExceptionDecoder工具分析定位esp8266或esp32异常问题

esp开发过程中,难免会出现异常跑死情况,然后就打印stack回调,一大堆数字,分析定位问题很是困难头大。这时候可以借助EspExceptionDecoder工具帮助分析。arduino,vscode platformIO项目,只要有ELF文件即可分析。

下边将以一个例子一步一步,交大家使用。

问题出现Exception stack

--------------- CUT HERE FOR EXCEPTION DECODER ---------------

Exception (3):
epc1=0x40106dbe epc2=0x00000000 epc3=0x40101415 excvaddr=0x400115d4 depc=0x00000000

>>>stack>>>

ctx: cont
sp: 3ffffbb0 end: 3fffffc0 offset: 0190
3ffffd40:  401004aa 00000001 3fff1ca4 40256644  
3ffffd50:  000000d7 000000d7 3ffe8678 40100b0f  
3ffffd60:  3ffffe50 3fff1ccb 00000245 3fff031c  
3ffffd70:  00000012 00000020 3fff1c94 40100cee  
3ffffd80:  3ffffe30 4025aa50 3ffffe30 40100698  
3ffffd90:  00000012 402566b7 3ffffe30 40256723  
3ffffda0:  3fff1c94 4025674c 3fff0a78 00000000  
3ffffdb0:  4020c7b7 00000000 3fff033c 4020c707  
3ffffdc0:  676e616c 746f6174 00686365 40100d50  
3ffffdd0:  00000000 00000018 3ffe9318 402182e6  
3ffffde0:  676e616c 746f6174 40686365 32383036  
3ffffdf0:  00003232 00000018 3ffe932f 3fff031c  
3ffffe00:  3fff033c 00000020 3ffffee0 40216e79  
3ffffe10:  00000000 3fff1c94 00000015 00000003  
3ffffe20:  5d73b000 0064a23b 00000020 40100d18  
3ffffe30:  676e616c 746f6174 00686365 40100d50  
3ffffe40:  00000000 00000018 3ffe9318 402182e6  
3ffffe50:  676e616c 746f6174 40686365 32383036  
3ffffe60:  00003232 00000018 3ffe932f 3fff031c  
3ffffe70:  3fff033c 00000020 3ffffee0 40216e79  
3ffffe80:  00000000 3fff1c94 00000015 00000004  
3ffffe90:  00000100 0000018f 3ffe8681 00000002  
3ffffea0:  00000000 3fff0a70 00000001 00000004  
3ffffeb0:  3fff0bb0 00000020 3fff2254 3fff031c  
3ffffec0:  3fff0bb0 3fff0a70 00000001 4020c834  
3ffffed0:  00000001 3fff0a70 00000001 402073f1  
3ffffee0:  00000000 0012001f 00000000 00000000  
3ffffef0:  000b000f 00000000 3fffff00 3fff06b0 <
3fffff00:  00000064 00000001 4021acb4 00000004  
3fffff10:  00000001 00000001 00000000 402075fb  
3fffff20:  4024f491 00186a00 3fff0bb0 4021a84c  
3fffff30:  4021a860 3dcccccd 3fff06b0 4020785c  
3fffff40:  00000000 00000000 00000000 4021a84c  
3fffff50:  4021a860 3fff06b0 3fff0bb0 4020aceb  
3fffff60:  00000000 00000000 00000000 4021a84c  
3fffff70:  00000000 0010001f 00000000 feefeffe  
3fffff80:  00000000 feefeffe feefeffe feefeffe  
3fffff90:  feefeffe feefeffe feefeffe 3fff0d78  
3fffffa0:  3fffdad0 00000000 3fff0d64 40218360  
3fffffb0:  feefeffe feefeffe 3ffe8674 401003a1  
<<<stack<<<

--------------- CUT HERE FOR EXCEPTION DECODER ---------------

EspExceptionDecoder安装

下载

github下载地址(需要科学上网):https://github.com/me-no-dev/EspExceptionDecoder

csdn下载地址: https://download.csdn.net/download/a554521655/87732857

安装

前提需要安装Arduino ide,没安装的请自行安装;因为EspExceptionDecoder是它的一个工具插件,使用需要借助Arduino

将EspExceptionDecoder-2.0.3.zip解压后,将里边的EspExceptionDecoder文件夹复制到Arduino安装目录的tools下

我这里路径是C:\Program Files (x86)\Arduino\tools

image-20230426183846098

使用

启动arduino ide,依次点击 工具>> Esp Exception Decoder , 然后弹窗选择Select ELF文件,之后在弹出Exception Decoder对话框中,将异常log粘贴进入即可获取对应可读的异常信息

image-20230426183333772

image-20230426183629987

image-20230426183229373

可以清楚的看出Exception (3)引起的原因是:

Exception 3: LoadStoreError: Processor internal physical address or data error during load or store
PC: 0x40106dbe
EXCVADDR: 0x400115d4

Decoding stack results
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

心之雅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值