本文分享自中移OneOS微信公众号《嵌入式系统coredump分析》,作者:柏灵。
在进行嵌入式产品开发过程中,不可避免的会遇到,功能开发完了,固件烧进去了,测试拿去测了,然后测着测着,程序崩溃了!
问题解决思路
当遇到程序崩溃问题时,我们最先想知道的是,程序是在哪里崩溃的?最简单的方法是获取程序指针寄存器,比如在使用cortex-m开发时,只需要将程序崩溃时的PC值存到flash上或打印出来即可。但是当查看map表时,很可能发现PC指向的函数是memcpy等通用函数!对问题解决并不能提供有效信息。
所以对于大多数程序崩溃问题,最好能获得完整的调用栈和栈上的临时变量,这正好是coredump的主要功能。
eCoreDump组件介绍
OneOS的eCoreDump组件,主要功能是生成elf格式的core file,配合修改