На моей последней задаче (старый код FORTRAN 77) у нас были файлы перекрестных ссылок, в которых перечислены, какие подпрограммы называются другими подпрограммами, в каких подпрограммах файлов были определены, какие общие блоки содержали какие переменные, какие подпрограммы включали какие-то общие блоки и т. Д. Затем они использовались сценариями оболочки, которые grepped файлы перекрестных ссылок и рассказывали вам о дизайне программы.Кто называет эту функцию?
Я сейчас в новой компании (код на C++), и я нашел ctags, чтобы заменить некоторые из этих функций. Единственное, что я пропустил, это команда, которую мы назвали «who.calls», в которой перечислены, какие подпрограммы (я имею в виду функции или методы, должны привыкнуть к OO-talk) вызывать данную подпрограмму. Например, если подпрограмма foo
вызывает подпрограмму bar
:
>who.calls bar
foo
Любые предложения о том, как сделать это без реинжиниринга среды программирования от моей старой компании? Я ищу супер-регулярное выражение или какой-либо другой метод, который я могу использовать в командной строке, но я открыт для других методов, которые используют совершенно иной подход, чтобы дать мне такую же информацию. Я в основном хочу обнаружить стек функции отладки без запуска отладчика.
Спасибо за редактирование, @ J.F - Я дал вам +1 на одном, где у вас было 9 голосов, чтобы вы получили значок. –