У меня есть программа, которая была остановлена на kill -STOP
.Я хочу получить дамп ядра без его запуска (программа должна быть остановлена на все время; если она получит SIGCONT, она умрет без coredump).Как я могу получить coredump?
Можно ли сохранить программу в ее текущем состоянии после получения coredump?Это очень редкая ситуация, и я не могу воспроизвести ее, но я должен проанализировать ее.
Спасибо
ОБНОВЛЕНИЯ: gcore не работает.GDB (даже root) не может присоединиться к остановленному процессу (всегда ожидает ptrace PTRACE_ATTACH).Даже dd не может читать из / proc / 99999 / mem с хорошими смещениями из / proc / 99999 / maps (ошибка No such process
).
Если я пытаюсь присоединить gdb к процессу и отправить SIGCONT востановленный процесс, я получил
path... linux-nat.c:####: internal-error: linux_nat_attach: Assertion `pid == GET_PID (inferior_ptid) && WIFSTOPPED (status) && WSTOPSIG (status) == SIGSTOP' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Если я пойду на GDB и сохраню ядро, оно будет повреждено."Не удалось прочитать действительное изображение объектного файла из памяти."