Отслеживание вызовов функций в C ++ с использованием GDB - PullRequest
3 голосов
/ 08 февраля 2012

У меня есть система, разработанная в C ++ на платформе Linux. Я делаю некоторые отладки этой системы. Я хочу посмотреть на полную последовательность вызовов функций для функции. Предположим, что функции вызываются в следующей последовательности

function_1 -> function_2 -> function_3 -> function_4

Если я поставлю точку останова на function_4, выполнение будет приостановлено в этой точке. Я хочу видеть, что functions_1, function_2 и function_3 вызываются до function_4. Если есть какая-либо команда GDB для отслеживания этих вызовов функций?

Спасибо, Анкур

Ответы [ 3 ]

8 голосов
/ 08 февраля 2012

Вы хотите возврат.Команда gdb bt покажет именно то, что вас интересует.

2 голосов
/ 08 февраля 2012
1 голос
/ 08 февраля 2012

Если function_1 () вызывает function_2 (), которая вызывает function_3 () и т.д.стека

Еще один полезный инструмент - это valgrind с инструментом callgrind

...