Дамп памяти процесса при выходе из 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