debug(1)coredump

1.pre

测试程序:创建两个指针A B,A分配地址,B一个不分配地址,当出现特定数字后,将其写在B上,就会导致段错误,程序崩溃。

coredump(核心转储): 是指程序在异常终止(如崩溃)时,操作系统将程序当时的内存状态、寄存器信息、堆栈数据等关键信息保存到一个文件中的过程或结果文件。可以用gdb进行调试定位崩溃原因,生成文件名通常为core, 或者名字带core

2.coredump的打开

如下图,出现了segmentation fault, 但是coredump并未打开, ulimit命令可以判断是否启动coredump以及大小

如图可以看到,ulimit -c可以看到coredump指定大小,我们可以改成无限制

3.core生成的位置

core并不一定生成在程序报错的位置,可以通过以下目录查看

4.debug

gdb 可执行程序 core

debug信息如下,它并不会完整执行,会直接到程序崩溃的地方,相比于用vmlinux,可以直接进到崩溃的地方。

#嵌入式笔面经分享##Linux##嵌入式##牛客创作赏金赛#
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务