首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >分析核心转储文件redhat 7.0

分析核心转储文件redhat 7.0
EN

Unix & Linux用户
提问于 2019-11-10 23:40:55
回答 1查看 2.2K关注 0票数 0

我们有一个进程一直在生成一个核心转储文件,但甚至不确定是哪个进程。我按照指示使用崩溃实用程序来分析核心转储文件。我不得不安装一个新的回购和安装崩溃。现在它在运行,我明白了:

crash: /usr/lib/debug/lib/modules/3.10.0-229.14.1.el7.x86_64/vmlinux and /home/user/d336599/core.26061 do not match!

知道解决办法吗?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2019-11-11 08:15:41

如果在核心转储上使用file命令,它应该能够告诉您生成核心转储文件的可执行文件的名称。

然后gdb <executable file> <core dump file>将启动gdbgdb中的bt命令将产生程序崩溃的回溯。

但是,如果调试符号已从可执行文件中删除,您将发现回溯跟踪不会提供很好的信息。在这种情况下,您可能需要为该可执行文件找到一个单独的调试符号表文件(版本必须完全匹配)并将-s <symbol table file>添加到gdb命令调用中。

如果核心转储被截断,那么您很可能会耗尽磁盘空间(如您在注释中所述)。核心文件名/home/user/d336599/core.26061表示您可能在使用RHEL7 sysctl默认值kernel.core_pattern = "core"kernel.core_uses_pid = 1。通过在kernel.core_pattern sysctl中指定一个绝对路径名,您可以将核心转储重定向到另一个具有更多空间的磁盘。请记住,要确保目录对于拥有转储内核的程序的用户来说是可写的。

有关如何使用man 5 core指定将在何处生成核心转储文件以及如何命名它们的更多信息,请参见kernel.core_pattern

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/551466

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档