【发布时间】:2014-09-15 16:07:41
【问题描述】:
我刚刚用 C 语言编写了一个 Hello world 程序,我正在玩。我想尝试从内存中转储二进制文件(使用 gdb)并尝试从中创建另一个可执行文件。我尝试转储具有可执行权限的页面,然后转储其数据页;但是它有段错误。有什么方法可以做到这一点?有什么方法可以调试并找出它崩溃的原因吗?有什么通用的建议吗?
谢谢。
[编辑]
它在 linux 上,我在 32 位和 64 位 x86 上都试过了。内核版本为 3.13。我在 _start 上设置了一个断点,将可执行页面及其数据页面转储到一个文件中并尝试执行它。
【问题讨论】:
-
您到底尝试了什么?这是在什么平台上的?我猜测它是 Linux ......什么版本的内核?什么架构?这是一个非常、非常、非常依赖于操作系统和架构的问题。
-
@DanLenski 我已经进行了回复,谢谢。
标签: c elf file-format