То, что я хочу, - это сочетание того, что можно получить с помощью статического анализа кода, такого как Doxygen, и стекового фрейма, который вы можете увидеть при использовании GDB. Я знаю, какую проблемную функцию я отлаживаю, и я хочу видеть соседство вызовов функций, которые управляли выполнением этого вызова функции. Например, запуск простого HelloWorld! будет выводить что-то вроде:
main:
Greeter::Greeter()
Greeter::printHello()
Greeter::printWorld()
обозначает, что из основной функции вызывался конструктор, а затем вызывались функции printHello и printWorld. Обратите внимание, что в GDB, если я прервусь в printWorld, я не смогу увидеть в стеке, что вызывается printHello.
Любые идеи о том, как отследить вызовы функций без необходимости вставлять сообщения журнала в множество исходных файлов?
Спасибо !!