Получить stack backtrace запущенного процесса
Я пытаюсь получить обратную трассировку стека запущенного процесса (известны 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?