我想分析核心转储。
我即将使用 gdb,但我做的第一件事是使用 file
在核心上,这给了我:
ELF 32-bit LSB core file Intel 80386, version 1 (SYSV), too many program headers (489)
现在,大部分都说得通了。但是“太多”意味着
file
正在尝试做某事,但由于某种原因无法完成其操作。有东西告诉我file
正在寻找将有助于了解。它试图确定什么,为什么(确切地)它在尝试中失败了?
最佳答案
file
的最新版本添加了一些额外的参数来限制它正在读取多少核心转储。默认情况下,如果它看到超过 128 个 ELF 程序头,它甚至不会在转储中查找程序名称。
TL;博士
你应该可以通过调用 file -Pelf_phnum=10000 core
来解决这个问题。
关于file - 为什么文件实用程序告诉我有 "too many program headers"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31328955/