Инструмент генерации графа вызовов C # - PullRequest
28 голосов
/ 27 апреля 2009

Я только что получил кучу (в основном недокументированного) кода C #, и я хотел бы визуализировать его структуру перед тем, как погрузиться и начать рефакторинг. Я делал это в прошлом (на других языках) с помощью инструментов, которые генерируют графы вызовов.

Можете ли вы порекомендовать хороший инструмент для облегчения открытия структуры в C #?

UPDATE

В дополнение к инструментам, упомянутым здесь, я видел (сквозь трубы), что люди говорят, что .NET Reflector и CLR Profiler имеют эту функцию. Любой опыт с этим?

Ответы [ 8 ]

17 голосов
/ 27 апреля 2009

NDepend довольно хорош в этом. Кроме того, Visual Studio 2008 Team System имеет множество функций, позволяющих отслеживать цикломатическую сложность, но гораздо более базовую, чем NDepend. (Выполнить анализ кода)

8 голосов
/ 19 октября 2010

Что касается NDepend, он может создать некоторый полезный график вызовов, например, например (полный размер изображения здесь )

alt text

Более подробное описание графа вызовов NDepend здесь .

7 голосов
/ 16 октября 2012

Уже немного поздно, но http://sequenceviz.codeplex.com/ - это потрясающий инструмент, который показывает график звонков / диаграмму последовательности. Диаграммы создаются путем обратного инжиниринга сборок .NET.

5 голосов
/ 27 апреля 2009

Я использовал doxygen для некоторого успеха. Это немного запутанно, но бесплатно и работает.

4 голосов
/ 27 апреля 2009

Visual Studio 2010 .

Плюс, для каждого отдельного метода - Reflector (Analyzer (Ctrl + R); «Зависит от» и «Используется»)

2 голосов
/ 27 апреля 2009

SequenceViz и DependencyStructureMatrix for Reflector могут вам помочь: http://www.codeplex.com/reflectoraddins

2 голосов
/ 27 апреля 2009

Я не уверен, будет ли он делать это только из исходного кода, но ANTS Profiler создаст график вызовов для работающего приложения (может быть более полезным в любом случае).

1 голос
/ 02 июня 2017

На сегодняшний день (июнь 2017 года) лучшим инструментом в классе является функция проверки Resharper. Позволяет находить все входящие звонки, исходящие звонки, значения происхождения / назначения и т. Д.

Лучшая часть ReSharper, по сравнению с другими инструментами, упомянутыми выше: она менее глючная.

...