如何从 `abrt` 获取核心转储
How to get a coredump from `abrt`
我是 运行 Fedora 23,最近才发现 abrt
处理我崩溃的应用程序的核心转储,并将各种东西放在 /var/spool/abrt/ccpp-date-pid
中。是否有从 abrt
获取核心转储的命令,而无需从指定文件夹手动复制它?或者我可以 abrt
将核心转储提供给 gdb,并加载二进制文件吗?
我不想更改 /proc/sys/kernel/core_pattern
。
我在想一些事情:
$ cc -g -o foo main.c
$ ./foo
segmentation fault (core dumped)
$ abrt-magic d55ba08dd0535a223d4a7...
(gdb) # time to do post mortem debugging...
当然 abrt-magic
会被某些命令替换
不是您想要的,但您可以使用 abrt-cli list
列出 ID,并使用给定 ID 的 abrt-cli info -d
来获取回溯。您需要配置 abrtd 以保存非包转储的信息:
sed -i 's/ProcessUnpackaged = no/ProcessUnpackaged = yes/' /etc/abrt/abrt-action-save-package-data.conf
如果 ulimit -c
值允许,您还可以在进程的常用当前目录中获取 "old-fashioned" 核心转储,方法是设置
MakeCompatCore = yes
在配置文件中 /etc/abrt/plugins/CCpp.conf
。
我是 运行 Fedora 23,最近才发现 abrt
处理我崩溃的应用程序的核心转储,并将各种东西放在 /var/spool/abrt/ccpp-date-pid
中。是否有从 abrt
获取核心转储的命令,而无需从指定文件夹手动复制它?或者我可以 abrt
将核心转储提供给 gdb,并加载二进制文件吗?
我不想更改 /proc/sys/kernel/core_pattern
。
我在想一些事情:
$ cc -g -o foo main.c
$ ./foo
segmentation fault (core dumped)
$ abrt-magic d55ba08dd0535a223d4a7...
(gdb) # time to do post mortem debugging...
当然 abrt-magic
会被某些命令替换
不是您想要的,但您可以使用 abrt-cli list
列出 ID,并使用给定 ID 的 abrt-cli info -d
来获取回溯。您需要配置 abrtd 以保存非包转储的信息:
sed -i 's/ProcessUnpackaged = no/ProcessUnpackaged = yes/' /etc/abrt/abrt-action-save-package-data.conf
如果 ulimit -c
值允许,您还可以在进程的常用当前目录中获取 "old-fashioned" 核心转储,方法是设置
MakeCompatCore = yes
在配置文件中 /etc/abrt/plugins/CCpp.conf
。