总结:
1.打开coredump开关
登陆 LINUX 服务器,任意位置键入
echo "ulimit -c 1024" >> /etc/profile(1024 限制产生的 core 文件的大小不能超过 1024kb,可以使用参数unlimited,取消该限制)
退出 LINUX 重新登陆 LINUX
键入 ulimit -c,如果显示 1024 那么说明 coredump 已经被开启。
2.设置 Core Dump 的核心转储文件目录和命名规则
echo "/tmp/core-%e-%p" > /proc/sys/kernel/core_pattern
将会控制所产生的 core 文件会存放到 /corefile 目录下,产生的文件名为 core- 命令名 -pid- 时间戳
解析:
/proc/sys/kernel/core_uses_pid 可以控制产生的 core 文件的文件名中是否添加 pid 作为扩展 ,如果添加则文件内容为 1 ,否则为 0。
proc/sys/kernel/core_pattern 可以设置格式化的 core 文件保存位置或文件名 ,比如原来文件内容是 core-%e
3.带g编译问题程序
gcc -o main -g a.c
4.gdb调试
gdb main /tmp/core-main-10815
linux下用户态程序coredump生成方法
最新推荐文章于 2025-02-14 15:26:44 发布