С# - приложение для отображения всех зависимостей между функциями?

Есть ли какое-то приложение, которое анализирует исходный код и графически показывает все соединения между функциями?

Мне нужно это для устаревшего кода, над которым я работаю - он огромный, функциональный и плохо написанный...: (

Ответ 1

NDepend может управлять вызывающим графом, действительно, как и предполагалось, madgnome. Позвольте мне немного разобраться. Сначала вы можете запросить вызов Graph с запросом CQL, во-вторых, вы можете экспортировать результат запроса в график зависимостей или матрицу зависимостей.

Конкретно, ниже мы запрашиваем вызывающие методы класса класса AppDomain в NUnit 2.4.8 (это может быть метод, поле, пространство имен... что угодно). Это меню может появиться и в Visual Studio благодаря добавлению NDepend VS.

alt text

Затем для нас генерируется запрос CQL, мы можем видеть, что 30 методов сопоставлены в вызывающем графе. У нас есть возможность экспортировать hese набор методов o графический граф...

alt text

... и вот выведенный граф (см. изображение с большой версией этого графика здесь)

alt text

Ответ 2

NDepend сделать именно это и многое другое (метрики кода...)

Ответ 4

.NET Reflector довольно аккуратный - я использовал его пару раз для получения такого рода информации. Существует несколько добавлений, по крайней мере один из которых генерирует диаграммы зависимостей.

Кроме того, в VS.Net 2008 или выше щелкните правой кнопкой мыши "Найти все ссылки".

Ответ 5

ReSharper предоставляет функции, которые позволяют видеть график методов, вызывающих ваш метод и наоборот. (Исходящие и входящие вызовы)

Это новая функция под названием "" Отслеживание вызовов"