Можно ли восстановить corefile обратно в работающую программу?
У меня есть инструмент для генерации снимков моей программы на C во время ее работы в форме corefiles.
Можно ли вернуть эти core-файлы к жизни как исполняемые программы? И если да, то как мне это сделать? Есть ли библиотеки, которые уже делают это?
Я работаю на *nix системах.
2 ответа
Да, это так, в теории.
Если ваш снимок представляет собой полный дамп всей памяти вашей программы, стека, кучи, а также ПК, можно поместить этот дамп обратно в память и снова запустить процесс выполнения. Но я думаю, тебе придется сделать это на земле ядра.
GDB сделает это за вас. Я использовал его для программ, которые потерпели крах, создавая ядро, но в теории это не должно отличаться.