Обработчик сбоев, печатающий обратную трассировку

Я хочу установить обработчик SIGSEGV и друзей на С++, чтобы распечатать трассировку стека и выйти при сбое.

backtrace_symbols_fd из glibc — это почти то, что мне нужно, но он не символизирует вызовы в анонимных пространствах имен. Однако gdb отлично справляется с этим (у меня есть скомпилированные символы, DWARF и т. д.).

Какую библиотеку вы бы порекомендовали для моей ситуации?


person Paweł Hajdan    schedule 02.09.2009    source источник


Ответы (1)


Вы смотрели abi::__cxa_demangle - это должно правильно демонтировать вывод из backtrace_symbols.

person DaveR    schedule 02.09.2009
comment
Спасибо, но это не главное. Я могу жить с искаженным именем символа, но для анонимного пространства имен я получаю имя символа no! Это проблема. - person Paweł Hajdan; 03.09.2009