搜索
bottom↓
回复: 8

分享一个快速定位ESP32死机的Backtrace的脚本(文件+行号)

[复制链接]

出0入8汤圆

发表于 2021-6-22 10:32:19 | 显示全部楼层 |阅读模式
本帖最后由 icoyool 于 2021-6-22 10:32 编辑
原理利用自带命令 xtensa-esp32-elf-addr2line -e


  1. 输入①: xtensa-esp32-elf-addr2line 命令地址 (everything搜索一下就有, 我偷懒了, 直接加到系统path里面了
  2. 输入②: 项目elf文件路径
  3. 输入③: Backtrace文本
复制代码

虽然没有大用, 唯一的好处是下次找故障的时候, 不用手忙脚乱的重新百度




  1. import sys
  2. import os
  3. from pathlib import Path
  4. import re

  5. print("START:")
  6. path_lin = "xtensa-esp32-elf-addr2line -e "
  7. path_elf = "E:\\WorkPlace\\pio\EC61\\.pio\\build\\esp-wrover-kit\\firmware.elf"
  8. # err_str  = "Backtrace: 0x400d4194:0x3ffe2380 0x400d41f7:0x3ffe23a0 0x400d61a3:0x3ffe23c0 0x40089c82:0x3ffe23e0"
  9. err_str  = "Backtrace: 0x401a32d8:0x3ffb1f10 0x400d69e3:0x3ffb1f30 0x400d1f96:0x3ffb1f50 0x400d62eb:0x3ffb1f70 0x400d6304:0x3ffb1f90 0x400fe89d:0x3ffb1fb0 0x40089c82:0x3ffb1fd0"

  10. find = re.findall(r"0x4(.+?):", err_str)

  11. for sss in find:
  12.     addr = " 0x4"+sss
  13.     os.system(path_lin + path_elf+addr)

  14. print("END")
复制代码


输出示例:
START:
/home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/vfs/vfs_uart.c:900
E:\WorkPlace\pio\EC61/.pio\libdeps\esp-wrover-kit\CLI/CLI.cpp:398
??:?
E:\WorkPlace\pio\EC61/src/http_cgi_wr.cpp:618
E:\WorkPlace\pio\EC61/src/http_cgi_wr.cpp:622
C:\users\coyool\.platformio\packages\framework-arduinoespressif32\cores\esp32/esp32-hal-i2c.c:466
/home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/freertos/queue.c:2038
END


阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入984汤圆

发表于 2021-6-22 10:45:06 | 显示全部楼层
EspExceptionDecoder?

出0入0汤圆

发表于 2021-6-22 10:52:26 | 显示全部楼层
这是个好东西,我也是,一发现崩溃的代码,就百度,还不一定有答案,这下好了,下次一定 试试。

出0入0汤圆

发表于 2021-6-22 13:16:01 | 显示全部楼层
收藏, 果然是干货。

出0入13汤圆

发表于 2021-6-23 09:02:52 | 显示全部楼层
最近也用ESP32,虽然不知道用不用得上,收藏了再说

出0入0汤圆

发表于 2021-6-23 10:16:34 | 显示全部楼层
没明白 ESP32 这不是自带功能吗?

出0入8汤圆

 楼主| 发表于 2021-6-23 10:32:16 | 显示全部楼层
Mr.D 发表于 2021-6-23 10:16
没明白 ESP32 这不是自带功能吗?

是的, 是自带的呀, 我只是让查找起来快一点点而已

出0入0汤圆

发表于 2022-3-17 08:40:00 | 显示全部楼层
最近准备用ESP32开发新产品,先收藏了

出0入8汤圆

 楼主| 发表于 2022-3-17 10:11:44 | 显示全部楼层
xhcyfc 发表于 2022-3-17 08:40
最近准备用ESP32开发新产品,先收藏了
(引用自8楼)

配合vs code 的py 调试模式, 可以直接从输出框双击进入到文件并跳转到指定行, 还是很好用的
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-26 17:22

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表