Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Проанализировать код большой системы


Автор: Master01 12.5.2012, 15:51
Всем привет

Есть некая система, которая писалась очень давно - лет 10 назад, людьми которых давно нет в компании. Система очень большая.
Есть задача поддержки и развития системы - добавление новых фитч и пр. 

Вопрос - есть ли какие-нибудь инструменты, которые могут из сорс когда выстраивать всякие графы вызовов - откуда что дёргается, показывать иерархию классов, всякии депенсы визуализировать и пр. т.е. облегчить процесс копания в системе.Например, чтобы тыкнуть на классе и посмотреть его предков и потомков, кто от него зависитт и от кого зависит он и пр. или выбрать метод и получить список методов/функций которые из него вызываются?

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

Система написана на С++

Автор: alexSl 13.5.2012, 10:09
http://club.shelek.ru/viewart.php?id=328

Автор: kamre 17.5.2012, 14:09
Цитата(Master01 @ 12.5.2012,  15:51)
Вопрос - есть ли какие-нибудь инструменты, которые могут из сорс когда выстраивать всякие графы вызовов - откуда что дёргается, показывать иерархию классов, всякии депенсы визуализировать и пр. т.е. облегчить процесс копания в системе.Например, чтобы тыкнуть на классе и посмотреть его предков и потомков, кто от него зависитт и от кого зависит он и пр. или выбрать метод и получить список методов/функций которые из него вызываются?

Может еще и это подойдет: http://scitools.com.

Автор: Леопольд 18.5.2012, 08:22
однозначно Source Insight

Автор: Master01 18.5.2012, 09:49
Спасибо Всем.

Попробовал Doxygen - конечно не прямо что хотелось бы, но всё же луше чем ничего. С неймспейсами он так и не разобрался, кстати. Показывает неплохо иерархию классов, но зависимтостей я там не увидел.
Сейчас попробую Source Insight и scitools.

Автор: Леопольд 19.5.2012, 21:13
Master01, скажешь что больше понравилось?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)