Предыстория:
В конкретном проекте есть около пары тысяч функций в более чем сотне файлов. Функции разделены для размещения в двух банках памяти кода — fast_mem и slow_mem. Но теперь, поскольку область fast_mem ограничена, в ней не хватает места для любых новых изменений кода.
В рамках проверки кода было обнаружено, что у некоторых функций в fast_mem нет вызывающих объектов. Но список функций слишком огромен, чтобы проверять их по очереди вручную.
Вопрос.
Итак, переходя к вопросу, существует ли инструмент, который может составить список вызывающих объектов всех функций в проекте? С этим я могу пойти дальше и удалить функции в fast_mem, у которых нет вызывающих объектов.
Я использую cscope для просмотра кода вместе с ctags. Но для этого требуется ввести имя функции вручную. Можно ли это как-то автоматизировать, чтобы получить полный список?
Я также попробовал Doxygen с его функцией графика вызывающих абонентов. Однако результат не так удобен в использовании.