Добрый день, ЛОР.
Судя по всему, я хочу какой-то гибрид из gdb, ltrace (и, возможно, valgrind).
gdb позволяет смотреть трассировку программы при попадании на точку останова.
ltrace выводит все вызовы библиотечных функций (но только библиотечных).
А можно ли каким-то инструментом (например, тем же gdb, но ни в мане, ни в «инструкциях от Васянов» я ничего похожего не нашёл) запустить свою программу и получить полный лог её хождения по собственным функциям от начала до конца? Без брекпойнтов, чтобы программа могла работать в условиях, максимально приближенных к боевым? Понятно, можно нашпиговать каждую функцию отладочным выводом на std::cout, но может, можно это как-то автоматизировать?