Linux 下生成 core dump 配置和用法

在 Linux 系统中,生成 core dump 文件用于调试程序崩溃时的状态,能够帮助开发者分析程序崩溃的原因。下面是如何配置和使用 core dump 文件的详细步骤:

1.启用 Core Dump 文件的生成

1.1 查看和设置 Core Dump 文件大小限制

首先,查看当前系统是否允许生成 core dump 文件及其大小限制:

ulimit -c

如果返回值是 0,表示系统不允许生成 core dump 文件。 如果返回一个大于 0 的值,表示可以生成 core
文件,且该值表示允许的最大文件大小(以字节为单位)。

要启用生成 core dump 文件,并且设置为不限制其大小,可以运行:

ulimit -c unlimited

这会将 core dump 文件的大小限制设置为不限制。此设置仅对当前 shell 会话有效。如果想让它在每次启动时都生效,您需要将其添加到用户的 shell 配置文件中。

1.2 设置 core 文件的存储目录和命名格式

# 1.默认在当前程序执行目录下生成:core-程序名-程序pid-时间[core-test-3535-1734318249]
echo "core-%e-%p-%t" > /proc/sys/kernel/core_pattern
# 2.添加路径,可以把所有的core文件集中到一个文件夹
echo "/path/to/core-file/core-%e-%p-%t" >  /proc/sys/kernel/core_pattern

2. core dump 用法

2.1 gcc 或 g++ 编译时,加 -g 再调试时可以看得更详细:

gcc -g test.c -o test

2.2 gdb 调试,找出出错的位置:

gdb ./test core-test-3535-1734318249
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值