gdb – 手动生成elf核心转储

我正在寻找手动生成ELF核心转储文件.

我的程序有一个RAM转储,也可以检索寄存器信息等等.

有了这些数据,我想构建一个ELF核心转储文件,类似于Linux内核在程序崩溃时生成的文件,目标是使用专门为我的平台制作的GDB来分析这个核心转储.

我一直在寻找核心转储规格或详细格式,但没找到我想要的东西:

>我的核心转储文件需要哪些部分?
>它们如何组织到ELF容器中?
>如何将二进制RAM转储(寄存器值)转换为类似文件的核心转储.

这必须最好用C语言完成,我想我可以使用libelf库来帮助我构建文件,但是我没有找到关于该文件放什么的相关信息,以及格式,所以任何线索,链接或建议很受欢迎.

注意:这不是关于提高异常并且为我完成内核的工作,我可以这样做,但我真的需要自己收集RAM并手动将数据注册到elf核心转储中.

谢谢 !

最佳答案

I am looking for manually generating an ELF Core Dump file.

只需使用Google elf userspace coredumper就可以了.

I want to build my core dump, not implement it directly into my software

没有现成的程序(我知道)可以做到这一点.有可能,你必须从头开始写一个,或者改编其他一些程序.

有两个程序可以从用户空间编写核心转储 – 上面的用户空间coredumper和GDB(通过gcore命令).我希望调整Google coredumper比调整GDB容易得多.

如果你决定从头开始写一个,你仍然可以阅读Google coredumper来源,找出你必须写入核心的内容.

转载注明原文:gdb – 手动生成elf核心转储 - 代码日志