来解决这个问题
我想分析一个核心转储。我准备使用gdb,但我做的第一件事是在核心上使用file
,这给了我:
32位LSB核心文件Intel 80386, version 1 (SYSV), too many program headers (489)
现在,大部分都很有意义。但"太多"意味着file
试图做某事,但由于某种原因无法完成其操作。我觉得知道file
在找什么会很有帮助。
它试图确定什么,为什么(确切地)它在尝试中失败?
最近版本的file
添加了一些额外的参数来限制它读取的核心转储的大小。默认情况下,如果它看到有超过128个ELF程序头,它甚至不会在转储文件中查找程序名。
file -Pelf_phnum=10000 core
标题>