使用

命令行

当在无头机器上检测到崩溃时,abrt通过电子邮件或控制台通知通知用户,请参阅 服务器或无头机 .

要列出计算机运行中的所有崩溃:

abrt-cli list

示例输出:

id 58101e309c3e473d49b1a7d60868ab7023a62dd6
reason:         will_abort killed by SIGABRT
time:           Wed 17 Sep 2014 03:24:07 AM CEST
cmdline:        will_abort
package:        will-crash-0.7-4.fc21
uid:            1000 (mhabrnal)
count:          1
Directory:      /var/spool/abrt/ccpp-2014-09-17-02:51:07-5368

id 58101e309c3e473d49b1a7d60868ab7023a62dd6
reason:         will_abort killed by SIGABRT
time:           Wed 17 Sep 2014 02:51:07 AM CEST
cmdline:        will_abort
package:        will-crash-0.7-4.fc21
uid:            1000 (mhabrnal)
count:          1
Directory:      /var/spool/abrt/ccpp-2014-09-17-02:51:07-5368
Reported:       cannot be reported

id afdf8c42ddeb324b975f3510f6e976085b46c4fe
reason:         will_segfault killed by SIGSEGV
time:           Tue 16 Sep 2014 11:12:09 PM CEST
cmdline:        will_segfault
package:        will-crash-0.7-4.fc21
uid:            1000 (mhabrnal)
count:          1
Directory:      /var/spool/abrt/ccpp-2014-09-16-23:12:09-4265
Reported:       https://retrace.fedoraproject.org/faf/reports/bthash/102f484335e2df215da7a92d962d017e7d9edcc9
                https://bugzilla.redhat.com/show_bug.cgi?id=1124867

显示的是abrt收集的三起崩溃故障。每个崩溃都有一个标识符和一个目录,可用于使用 abrt-cli . 无法报告第二次崩溃(来自上述示例)。跑 abrt-cli info -d $ID 看看为什么这个问题不能上报。

要显示有关特定问题的详细报告,请使用:

abrt-cli list -d <ID_OR_PATH>

通过报告问题 abrt-cli 用途:

abrt-cli report <ID_OR_PATH>

删除问题运行:

abrt-cli remove <ID_OR_PATH>

更多详情请咨询 man abrt-cli .

选择首选文本编辑器

在报告过程中 abrt-cli report 将打开文本编辑器。它使用中定义的编辑器 $ABRT_EDITOR 环境变量。如果变量没有定义,它会检查 $VISUAL$EDITOR 变量。如果这些变量都没有设置, vi 使用。

您可以在您的应用程序中设置首选编辑器 .bashrc 配置文件。例如,如果您喜欢GNU Emacs,请在文件中添加以下行:

export EDITOR=emacs

图形用户界面

在ABRT处理崩溃后,用户将收到一个通知,其中包含忽略或报告问题的选项。如果用户选择报告问题 gnome-abrt 应用程序打开:

_images/gnome_abrt.png

Report 按钮启动一个报告向导,指导用户完成报告过程。

测试ABRT功能

为了确保您不会错过应用程序崩溃,您应该验证abrt是否按预期工作。

最简单的方法就是让所有可用的 sleep 可执行文件崩溃:

sleep 10m &
kill -SIGSEGV %1

Sleep 会产生分段错误,并且应该被ABRT的C/C++钩子捕获。如果工作不正常,请咨询 调试ABRT .

will-crash

为了测试各种钩子的功能,我们创建了一组崩溃的可执行文件,称为 will-crash [1].

首先,安装软件包:

yum install will-crash

然后根据您希望测试哪个钩子来运行崩溃的可执行文件之一,最常见的是C/C++:

will_segfault

这个可执行文件立即出现故障,应该被abrt捕获。要获取其他崩溃可执行文件的列表,请运行:

rpm -ql will-crash | grep bin

脚注