2010-06-11 17 views

risposta

10

Vedere il comando 'gcore', parte del GDB.

+0

Questo sembra promettente. Ho ottenuto il file principale in questo modo. Tuttavia, il processo che sto analizzando termina non appena disconnetto gdb da esso. Termina anche immediatamente se lo tengo straziato. Conosci qualche modo per impedire che venga rilevato da gdb/strace? Grazie ancora! – Jim

+0

È possibile eseguire gcore contro il processo e quindi gdb contro il core scaricato. Ad esempio: "gcore 12345; gdb/path/to/binary core.12345" –

3

Ho ottenuto il miglior risultato con il collegamento di gdb in modalità batch al programma in esecuzione, ottenere un backtrace e quindi staccarlo.

gdb --batch --quiet -ex "set pagination off" -ex "thread apply all bt" 
-ex "detach" -ex "quit" pid pid_of_process 
+3

ma backtrace non è un coredump – osgx