linux生成core文件路径,core文件生成和路径设置

在Linux系统中,当程序崩溃时,可以生成core文件用于调试。通过`ulimit`命令可以设置core文件的生成开关和大小限制。默认core文件位于可执行文件的同一路径下,名为`core`。通过修改`/proc/sys/kernel/core_pattern`可以自定义core文件的保存位置和文件名,例如`/corefile/core-%e-%p-%t`。调试时使用gdb打开core文件,可以查看程序崩溃时的堆栈信息。
摘要由CSDN通过智能技术生成

在程序崩溃时,内核会生成一个core文件,即程序最后崩溃时的内存映像,和程序调试信息。 之后可以通过gdb,打开core文件察看程序崩溃时的堆栈信息,可以找出程序出错的代码所在文件和函数。

1.core文件的生成开关和大小限制  1)使用ulimit -a命令,可以察看core文件的生成开关和大小限制所有信息  2)使用ulimit -c命令可查看core文件的生成开关。若结果为0,则表示关闭了此功能,不会生成core文件。  3)使用ulimit -c filesize命令,可以限制core文件的大小(filesize的单位为kbyte)。     若ulimit -c unlimited,则表示core文件的大小不受限制。

2.core文件的名称和生成路径

若未设置过core文件生成路径和名称,默认生成在可执行文件运行命令的同一路径下,命名为core。新的core文件生成将覆盖原来的core文件。

1)core文件保存位置和文件名设置    通过编辑proc/sys/kernel/core_pattern,设置文件路径和文件名

echo "/corefile/core-%e-%p-%t" > core_pattern

所产生的 core 文件会存放到 /corefile 目录下,产生的文件名为 core- 命令名 -pid- 时间戳

文件名参数列表:

%p - insert pid into filename 添加 pid

%u - insert current uid into filename 添加当前 uid

%g - insert current gid into filename 添加当前 gid

%s - insert signal that caused the coredump into the

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值