Дамп памяти процесса при выходе из Linux

Я хочу сбросить память процесса при его выходе. Все решения, которые я видел, используя gcore, gdb или даже procdump для linux сбрасывает ядро ​​в середине выполнения, а не точно, когда оно завершается

Procdump для окон имеет очень элегантное решение для этого, то есть -t позволит procdump создать дамп при выходе из процесса.

Я наткнулся на ulimit -c unlimited но это снова будет генерировать дампы только для не изящных выходов.

Процесс, для которого я хочу создать дамп, может быть любым процессом, а не моим приложением.

1 ответ

Если вы хотите имитировать это поведение с помощью gdb:

Procdump для Windows имеет очень элегантное решение для этого, то есть -t позволит procdump создавать дамп при выходе из процесса.

Сначала вы создаете файл "mycommand.txt":

b exit
r
generate-core-file ./core.1
q

Затем вы начинаете свою программу с:

 gdb --command mycommand.txt yourprogram 

у вас будет файл с именем core.1 в вашем рабочем каталоге. Проверить с:

gdb yourprogram core.1
Другие вопросы по тегам