Печать полной трассировки на С ++ - PullRequest
8 голосов
/ 02 ноября 2011

Я хочу вывести обратную трассировку из программы на С ++ в Linux в том же формате, что и в gdb.Я попытался использовать функции backtrace () и backtrace_symbols () для этой цели.Эти возвращенные имена функций и смещения.Я могу использовать функцию __cxa_demangle (), чтобы получить читаемое имя функции.

Есть ли способ получить также положение файла / строки, как это делает gdb?

1 Ответ

5 голосов
/ 02 ноября 2011

Как лучше вызвать gdb из программы для печати его стека? `

Метод # 4, показывает способ получения имени файла и строки. Но использует внешнюю программу ..

...