Получить обратную трассировку стека запущенного процесса - PullRequest
6 голосов
/ 06 января 2010

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

1 Ответ

2 голосов
/ 06 января 2010

Вам нужен libunwind

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...