谷动谷力

标题: 使用 addr2line 分析 ZigBee JN516x 的 crash stack dump [打印本页]

作者: 鸣涧    时间: 2022-11-25 23:36
标题: 使用 addr2line 分析 ZigBee JN516x 的 crash stack dump
使用 addr2line 分析 ZigBee JN516x 的 crash stack dump

        大家好,我是宇宙洪荒,是专业研究 NXP-ZigBee 的洪荒开拓者。今天给大家带来的是 addr2line。在内核执行过程中偶尔出现崩溃时,addr2line 可用于快速定位出出错的位置,进而找出代码 bug。期待该次分享能帮助到大家。

一、addr2line 是什么
       addr2line (它是标准的 GNU Binutils 中的一部分)是一个可以将指令的地址和可执行映像转换成文件名、函数名和源代码行数的工具。

二、如何获得 addr2line

       Linux 系统一般会集成这个工具,本文重点介绍 Windows 系统下如何获取该工具。方法很多,我这里仅介绍两种方式
       第一种:安装 MinGW(网上教程很多,自行搜索),安装后在其安装目录的 bin 文件夹里会包含 addr2line.exe ,此时只用保证环境变量 path 中包含该路径即可。
       第二种:本博文档案下已存放 addr2line.exe ,可以将其直接拷贝至 C:\NXP 下。

三、addr2line 如何使用





四、通过 addr2line 分析ZigBee JN516x 的crash stack dump

      当 JN516x crash 后,将在串口打印输出调用栈信息,通过这些信息可以分析定位出现问题的函数。
         APP: Light Power Up
         EPCR = a9a2d : EEAR = 7
         Stack dump:
         4007ec0 : ffffffff
         4007ec4 : 000ab3dc
         4007ec8 : 00000000
         4007ecc : 000af718
         4007ed0 : 0000fffe
         4007ed4 : 0000000c
         4007ed8 : 000ab3d6
         4007edc : 04000960
         4007ee0 : 00000000
         4007ee4 : ffffffff


五、ZigBee 参考资料

       参考文档:
           通过 addr2line 分析 ZigBee JN516x 的 crash stack dump.pdf






欢迎光临 谷动谷力 (http://bbs.sunsili.com/) Powered by Discuz! X3.2