我正在寻找手动生成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来源,找出你必须写入核心的内容.