我注意到我的日志中有以下内容。我只是不确定如何解决或找出导致这些问题的原因以及它们是否严重。
[582046.956291] Core dump to |/usr/libexec/abrt-hook-ccpp 7 0 18482 0 0 1379281138 e pipe failed
[582346.769892] Core dump to |/usr/libexec/abrt-hook-ccpp 7 0 21093 0 0 1379281439 e pipe failed
[582646.586134] Core dump to |/usr/libexec/abrt-hook-ccpp 7 0 23723 0 0 1379281739 e pipe failed
[582946.390029] Core dump to |/usr/libexec/abrt-hook-ccpp 7 0 26342 0 0 1379282039 e pipe failed
[583246.202851] Core dump to |/usr/libexec/abrt-hook-ccpp 7 0 29010 0 0 1379282340 e pipe failed
[583546.018408] Core dump to |/usr/libexec/abrt-hook-ccpp 7 0 31620 0 0 1379282640 e pipe failed
[583845.836688] Core dump to |/usr/libexec/abrt-hook-ccpp 7 0 1837 0 0 1379282940 e pipe failed
[584145.645968] Core dump to |/usr/libexec/abrt-hook-ccpp 7 0 4416 0 0 1379283241 e pipe failed
[584445.455705] Core dump to |/usr/libexec/abrt-hook-ccpp 7 0 7001 0 0 1379283541 e pipe failed
[584745.266532] Core dump to |/usr/libexec/abrt-hook-ccpp 7 0 9600 0 0 1379283841 e pipe failed
[585045.074399] Core dump to |/usr/libexec/abrt-hook-ccpp 7 0 12209 0 0 1379284141 e pipe failed
[585344.885464] Core dump to |/usr/libexec/abrt-hook-ccpp 7 0 14790 0 0 1379284442 e pipe failed
[585644.743818] Core dump to |/usr/libexec/abrt-hook-ccpp 7 0 17605 0 0 1379284742 e pipe failed
[585944.511572] Core dump to |/usr/libexec/abrt-hook-ccpp 7 0 20183 0 0 1379285042 e pipe failed
[586244.315990] Core dump to |/usr/libexec/abrt-hook-ccpp 7 0 22781 0 0 1379285343 e pipe failed
[586544.123020] Core dump to |/usr/libexec/abrt-hook-ccpp 7 0 25385 0 0 1379285643 e pipe failed
[586843.932084] Core dump to |/usr/libexec/abrt-hook-ccpp 7 0 27984 0 0 1379285943 e pipe failed
[587143.742379] Core dump to |/usr/libexec/abrt-hook-ccpp 7 0 30608 0 0 1379286244 e pipe failed
[587443.559349] Core dump to |/usr/libexec/abrt-hook-ccpp 7 0 799 0 0 1379286544 e pipe failed
[587743.373027] Core dump to |/usr/libexec/abrt-hook-ccpp 7 0 3420 0 0 1379286844 e pipe failed
[588043.175248] Core dump to |/usr/libexec/abrt-hook-ccpp 7 0 6031 0 0 1379287145 e pipe failed
[588342.986730] Core dump to |/usr/libexec/abrt-hook-ccpp 7 0 8665 0 0 1379287445 e pipe failed
[588642.795951] Core dump to |/usr/libexec/abrt-hook-ccpp 7 0 11279 0 0 1379287745 e pipe failed
[588942.608088] Core dump to |/usr/libexec/abrt-hook-ccpp 7 0 13915 0 0 1379288045 e pipe failed
[589242.420741] Core dump to |/usr/libexec/abrt-hook-ccpp 7 0 16728 0 0 1379288346 e pipe failed
[589542.235065] Core dump to |/usr/libexec/abrt-hook-ccpp 7 0 19355 0 0 1379288646 e pipe failed
[589842.061502] Core dump to |/usr/libexec/abrt-hook-ccpp 7 0 21998 0 0 1379288946 e pipe failed
[590141.856687] Core dump to |/usr/libexec/abrt-hook-ccpp 7 0 24657 0 0 1379289247 e pipe failed
[590441.700335] Core dump to |/usr/libexec/abrt-hook-ccpp 7 0 27307 0 0 1379289547 e pipe failed
[590741.483298] Core dump to |/usr/libexec/abrt-hook-ccpp 7 0 29944 0 0 1379289847 e pipe failed
[591041.286647] Core dump to |/usr/libexec/abrt-hook-ccpp 7 0 32554 0 0 1379290148 e pipe failed
答案1
当程序因意外结果而失败时,就会生成核心转储。上面的内容告诉您命令失败,并且内存中的程序副本已由 abrt 守护进程(命令/usr/libexec/abrt-hook-ccpp
)处理。然后您可以使用诸如gdb
调试故障之类的工具。注意:gdb 不适合胆小的人!
通常,这些都是由于代码编写不当(需要更好地处理异常)、内存不足问题或潜在问题(例如命令与某个现已更改的动态加载库链接以及程序崩溃)造成的。不能再按照预期的方式使用它。
从这一页,其中详细介绍了 Abrt 进程是什么以及它如何处理内核。
当“abrtd”运行时,sysctl 变量“kernel.core_pattern”的值与上面不同,如下所示:
$sysctl -a|grep core_pattern kernel.core_pattern = |/usr/libexec/abrt-hook-ccpp /var/cache/abrt %p %s %u %c
“abrtd”在目录“/var/cache/abrt”中创建一个子目录(名称类似于“ccpp-1279914365-14618”),如变量值所示。这也意味着核心文件也将存储在“/var/cache/abrt”目录的该子目录中(除了应用程序运行的当前目录之外)。除了核心转储文件之外,ABRT 守护进程还会在子目录中创建其他文件,以进一步帮助用户调试崩溃问题。