linux core的文件生成

调试Linux程序的时候,出现Segmentation Fault错误时可以使用core dump的机制来找出程序中出现的错误。

无论你是用Makefile来编译,还是直接在命令行手工输入命令来编译,都应该加上 -g 选项。

一般来说,在默认情况下,在程序崩溃时,core文件是不生成的(很多Linux发行版在默认时禁止生成核心文件)。所以,你必须修改这个默认选项,在命令行执行:

ulimit -c unlimited

表示不限制生成的core文件的大小。
可以临时开启这个机制,只需在命令行执行

 ulimit -c unlimited

或者编辑

vi /etc/profile
增加或者修改   ulimit -c unlimited  

运行你的程序,不管用什么方法,使之重现Segmentation Fault错误。

之后在程序的工作目录下会生成一个core文件

然后使用GDB调试

gdb  ./test  core

进入调试

(gdb) where
或者  bt
查看信息

查看core 是否开启

ulimit -c

关闭core

ulimit -c  0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值