Сведения о вопросе

Fhohir

12:22, 17th August, 2020

Теги

c++   c   visualization    

C/C++ визуализация исходного кода?

Просмотров: 754   Ответов: 8

В основном мне нужны инструменты, которые генерируют визуализацию исходного кода, например:

  • график вызова функции
  • граф зависимостей ...


  •   Сведения об ответе

    +-*/

    16:27, 14th August, 2020

    Doxygen действительно отлично подходит для этого, хотя вам нужно будет установить GraphViz , чтобы получить графики для рисования.

    После того, как вы все установили, рисовать графики действительно довольно просто. Убедитесь, что вы установили EXTRACT_ALL и CALL_GRAPH в true, и вы должны быть хороши, чтобы идти.

    Полная документация по этой функции для doxygen находится здесь .


      Сведения об ответе

    DAAA

    21:15, 6th August, 2020

    Я настоятельно рекомендую BOUML . Это бесплатное приложение для моделирования UML, которое:

    • является чрезвычайно быстрым (самый быстрый инструмент UML когда-либо созданный, проверьте бенчмарки ),
    • имеет поддержку импорта rock solid C++ ,
    • имеет большую поддержку экспорта SVG, что важно, потому что просмотр больших графиков в векторном формате, который быстро масштабируется, например, в Firefox, очень удобен (вы можете быстро переключаться между представлением "birds eye" и детальным представлением класса),
    • полнофункциональный , впечатляюще интенсивно развивающийся (посмотрите на историю развития, трудно поверить, что так быстро возможен прогресс).

    Итак: импортируйте свой код в BOUML и просмотрите его там, или экспортируйте в SVG и просмотрите его в Firefox.

    Для бесплатной версии:


      Сведения об ответе

    ASER

    11:21, 23rd August, 2020

    Вы можете посмотреть на различные инструменты для проектирования и моделирования программного обеспечения ( Rational Rose , Sparx Enterprise Architect , Umbrello и др.). Большинство из них имеют некоторую функциональность для обратного моделирования по исходному коду и получения диаграмм классов UML, а иногда даже диаграмм последовательностей (и это очень близко к графу вызова функций).

    Но после того, как вы получите несколько фотографий на действительно большой кодовой базе проекта, вы можете понять, что такие графики довольно трудно читать и понимать. К сожалению, возможности визуализации сложности очень ограничены.

    Что касается меня, использование идиомы "divide and rule" является более удобным подходом. Вы можете извлечь различные функциональные блоки или слои из вашей некоторой кодовой базы (иногда достаточно просто отсортировать cpp-файлы по разным папкам). Другой способ-использовать некоторые скрипты (bash, python) для создания простых таблиц csv с заинтересованными параметрами файлов, классов или функций, таких как "number of dependencies" и т. д.).


      Сведения об ответе

    FAriza

    16:28, 13th August, 2020

    В дополнение к написанным выше инструментам, вы можете попробовать понять . Но это не бесплатно.


      Сведения об ответе

    FAriza

    13:33, 24th August, 2020

    Если вы используете Visual Studio, выпуск 2010 Ultimate позволяет создавать диаграммы последовательностей и графики зависимостей. Однако в настоящее время выпуск поддерживает только проекты приложений .NET.

    Команда получила большой интерес к поддержке C++ в будущем выпуске, так что вы можете остаться с нами. Тем временем вы можете отправить запрос на обновление на форуме VS 2010 Architectural Discovery & Modeling Tools по адресу http://social.msdn.microsoft.com/Forums/en-US/vsarch/threads . Я знаю, что команда продукта любит слушать отзывы клиентов об инструментах.

    Тем временем вы можете узнать больше о создании диаграмм последовательностей и диаграмм зависимостей из кода .NET в следующих разделах:

    Как найти код с помощью архитектуры Explorer : http://msdn.microsoft.com/en-us/library/dd409431%28VS.100%29.aspx

    Как создать графические документы из кода: http://msdn.microsoft.com/en-us/library/dd409453%28VS.100%29.aspx#SeeSpecificSource

    Как: изучить код с диаграммами последовательностей: http://msdn.microsoft.com/en-us/library/ee317485%28VS.100%29.aspx

    Чтобы попробовать выпуск RC и получить обратную связь, загрузите его по адресу http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=457bab91-5eb2-4b36-b0f4-d6f34683c62a


      Сведения об ответе

    SKY

    15:23, 28th August, 2020

    Попробовать помощи Doxygen

    Пример вывода из Xerces


      Сведения об ответе

    ITSME

    18:08, 26th August, 2020

    Возможно, это дублирование, но проверьте ollydbg, IDA Pro и этот сайт имеет целую кучу ресурсов с некоторыми очень сексуальными изображениями.


      Сведения об ответе

    P_S_S

    21:51, 8th August, 2020

    Существует старый инструмент под названием CDOC , который мы все еще используем для создания деревьев вызовов.


    Ответить на вопрос

    Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться