查找导致核心转储文件的程序

时间:2012-11-09 13:23:38

标签: linux debugging ubuntu coredump

我最近一直在进行密集的程序/包安装,所以我无法确定哪些新安装的程序(或旧程序)导致我的主文件夹中出现core文件。它是一个服务器,所以我最好找出机器上任何可能的不稳定来源。

3 个答案:

答案 0 :(得分:33)

您只需使用file程序识别它们:

E.g

# file /var/core/core
/var/core/core:     ELF 64-bit MSB core file SPARCV9 Version 1, from 'crs_stat.bin'

答案 1 :(得分:2)

通常使用核心文件上的文件程序将显示错误的可执行文件,如@Benj在接受的答案(Benj的答案中的代码)中所解释的那样:

print(variable_to_print)

但是,有时您可能会对“太多程序标题部分”抱怨:

# file /var/core/core
/var/core/core:     ELF 64-bit MSB core file SPARCV9 Version 1, from 'crs_stat.bin'

在这种情况下,您可以尝试一些替代方案:

  • 尾随核心文件的最后几个字符串(该应用程序对我来说约为25):core.some-lib.nnnn.nnnn: ELF 64-bit LSB core file x86-64, version 1 (SYSV), too many program header sections (1850)
  • 使用gdb本身:strings core.some-lib.nnnn.nnnn | tail -50这通常会告诉你这样的事情:gdb -c core.some-lib.nnnn.nnnn

答案 2 :(得分:0)

您可以导航到core.pid所在的目录并运行gdb core core.pid