osg*_*sgx 3 linux gdb coredump
我有一个程序,被停止了kill -STOP.我想在不运行的情况下对其进行核心转储(程序必须一直停止;如果它将收到SIGCONT,它将在没有coredump的情况下死掉).我怎样才能得到一个coredump?
服用coredump后,是否可以将程序保持在当前状态?这是一种非常罕见的情况,我无法重现它,但我必须对其进行分析.
谢谢
更新:gcore不起作用.Gdb(甚至root)无法附加到已停止的进程(在ptrace PTRACE_ATTACH上永远等待).甚至dd也无法从/ proc/99999/mem读取/ proc/99999/mem(错误是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.
Run Code Online (Sandbox Code Playgroud)
如果我去gdb并保存核心,它将被破坏."无法从内存中读取有效的目标文件图像."
| 归档时间: |
|
| 查看次数: |
3572 次 |
| 最近记录: |