Estoy tratando de obtener la traza inversa de un proceso en ejecución (se conocen PID y ruta binaria) de otro programa. El programa en cuestión está escrito en C++ y compilado con g ++ con símbolos de depuración gdb.Obtener la pila detrás de un proceso en ejecución
Busco una C o C++ biblioteca que funciona en Linux, HP-UX y Solaris que produce una salida similar a la salida de llamar a popen() con algo como esto:
gdb -batch -x /dev/stdin <BINARY> <PID> << EOF
thread apply all bt
EOF
I han encontrado lsstack (http://sourceforge.net/projects/lsstack/), que es solo Linux y conoce el programa pstack para Solaris.
¿Alguien sabe de una manera confiable de hacer esto con Unix/POSIX cruzado?
También existe la utilidad 'gstack' en Linux, que funciona llamando GDB similar a la anterior. – mark4o