我可以编写自己的GDB可读的核心吗?

时间:2013-11-29 12:09:15

标签: c debugging gdb core

是否可以手动编写核心文件? 假设我有堆栈,堆,代码和所有处理器寄存器的二进制内存转储。

是否可以创建一个核心文件来查看GDB,就像真正的进程崩溃并生成了这个核心文件一样?

这个的主要用途是我在汇编代码上运行VM。 让我们假设架构是PPC。 当我遇到问题时,我希望能够编写核心文件 可以通过Linux上的GDB读取,以帮助调试问题。

我不确定ELF格式核心文件和其他格式之间的差异是什么。 但我想知道的是,它是否有可能编写一个获得的模块 数据段,代码段,堆栈段和寄存器,并为GDB生成可读的核心文件,如果是这样,它有多复杂。

谢谢, 伊泰

1 个答案:

答案 0 :(得分:0)

  

是否可以创建一个核心文件来查看GDB,就像真正的进程崩溃并生成了这个核心文件一样?

确实如此。核心的格式有点复杂,并且取决于系统(并且您没有说出您想要解决方案的系统)。

answer提供了可能的ELF解决方案。

如果您使用非ELF系统,则必须告诉我们哪一个。