对于嵌入式Linux工程师来说,在工作中经常遇到段错误,而其中调试段错误的最好方式就是core_dump调试。core_dump调试要满足几个条件:
1、ulimit -c unlimited,取消core file的大小限制;
2、echo /proc/sys/kernel/core_pattern >mydir,设置生成core的目录;
3、代码中取消singal相关的信号注册函数,
但是很多段错误是发生在设备启动的过程中,所以这时候就需要在相关的脚本中设置在几个命令,由于环境变量的关系发现直接在脚本中设置是不生效的,这时候就需要按照如下方式进行设置:
echo ulimit -c unlimited >>/etc/profile
source

嵌入式Linux工程师常遇到段错误,core_dump调试是有效定位问题的方法。设置ulimit-c unlimited解除corefile大小限制,设置core生成目录,禁用信号注册。若在设备启动时遇到段错误,需在环境变量中设置,通过修改/etc/profile并source使其生效。确保core生成后,使用GDB分析以定位段错误原因。
最低0.47元/天 解锁文章
1139

被折叠的 条评论
为什么被折叠?



