Я пытаюсь получить трассировку стека запущенного процесса (известны PID и двоичный путь) из другой программы. Рассматриваемая программа написана на C ++ и скомпилирована с g ++ с символами отладки gdb.
Я ищу библиотеку C или C ++, которая работает в Linux, HP-UX и Solaris, которая производит вывод, аналогичный выводу вызова popen (), с чем-то вроде этого:
gdb -batch -x /dev/stdin <BINARY> <PID> << EOF
thread apply all bt
EOF
Я нашел lsstack (http://sourceforge.net/projects/lsstack/), который предназначен только для Linux, и знаю программу pstack для Solaris.
Кто-нибудь знает надежный способ сделать это кросс Unix / POSIX?