我有一个核心转储文件和一个存储调试信息的文件,我可以在不使用可执行文件的情况下使用gdb来获取具有函数和行名称的调用堆栈吗?
答案 0 :(得分:1)
我可以在不使用可执行文件的情况下使用gdb来获取具有函数和行名称的调用堆栈吗?
至少在Linux / x86_64上,答案是否定的:objcopy --only-keep-debug
之后保存的信息还不够;您还需要可执行文件。
之所以会发生这种情况(至少部分是因为)debug_file
没有.eh_frame
部分,这对于在x86_64
上展开是必不可少的。
如果您要自行调试核心转储,则没有理由创建debug_file
-仅保留原始可执行文件以及完整的调试信息以进行调试(您仍然可以将较小的剥离文件发送到执行机)。