Sto cercando di ottenere lo stack backtrace di un processo in esecuzione (PID e percorso binario sono noti) da un altro programma. Il programma in questione è scritto in C++ e compilato con g ++ con simboli di debug di gdb.Ottieni lo stack backtrace di un processo in esecuzione
Sto cercando una libreria ++ che funziona su Linux, HP-UX e Solaris che produce un output simile all'uscita di chiamare popen() con qualcosa di simile C o C:
gdb -batch -x /dev/stdin <BINARY> <PID> << EOF
thread apply all bt
EOF
I ho trovato lsstack (http://sourceforge.net/projects/lsstack/), che è solo Linux e conosco il programma pstack per Solaris.
Qualcuno sa di un modo affidabile di fare questo cross Unix/POSIX?
C'è anche l'utilità 'gstack' su Linux, che funziona chiamando gdb simile al precedente. – mark4o