使用
命令行
当在无头机器上检测到崩溃时,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 应用程序打开:

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
脚注