Собрать стеки со всех нитей процесса
Привет всем!
Я пытаюсь собрать stack traces для всех нитей процесса при SIGSEGV и прочих неприятностях, но есть 2 проблемы:
1. Функции backtrace получают стек текущей нити, а надо со всех. Есть ли аналогичные функции для этого случая?
2. Пытался взять адреса стеков с помощью pthread_attr_getstack (код здесь) чтобы потом как-нибудь обработать, функция возвращает NULL. Не могу понять почему, все делаю по манам.
Ну и вообще: кто как собирает стеки, не прибегая к коркам?