J'essaie d'obtenir la trace d'une pile d'un processus en cours (les chemins PID et binaire sont connus) d'un autre programme. Le programme en question est écrit en C++ et compilé avec g ++ avec les symboles de débogage gdb.Récupère la trace d'une pile d'un processus en cours
Je suis à la recherche d'un C ou C++ bibliothèque qui fonctionne sur Linux, HP-UX et Solaris qui produit une sortie similaire à la sortie de l'appel popen() avec quelque chose comme ceci:
gdb -batch -x /dev/stdin <BINARY> <PID> << EOF
thread apply all bt
EOF
I J'ai trouvé lsstack (http://sourceforge.net/projects/lsstack/), qui est uniquement Linux et qui connaît le programme pstack pour Solaris.
Quelqu'un connaît-il un moyen fiable de faire ce cross Unix/POSIX?
Il y a aussi l'utilitaire 'gstack' sur Linux, qui fonctionne en appelant gdb similaire à ce qui précède. – mark4o