Я только что написал программу Hello world на C, с которой я играл. Я хотел бы попытаться сбросить двоичный файл из памяти (используя gdb) и попытаться создать из него другой исполняемый файл. Я попытался сбросить страницу с привилегиями исполняемого файла, а затем ее страницу данных; однако это segfaults. Есть ли подходы к этому? Есть ли способ отладить и выяснить, почему он падает? Любые общие предложения вообще?
Спасибо.
[РЕДАКТИРОВАТЬ]
Это на Linux, и я пробовал его как на 32-битной, так и на 64-битной x86. Версия ядра 3.13. Я установил точку останова на _start, выгрузил исполняемую страницу, а затем страницу данных в файл и попытался выполнить ее.