Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Анализ подключенных модулей


Страницы:   1 2

salexn ©   (2008-01-25 13:12:00) 

Доброго дня мастера!
Можно ли как-то узнать, какой модуль какие модуля "подтягивает" при компиляции? Ситуация следующая. Проект большой и изменяют несколько человек. Был замеч резкий скачек размера exe файла. При билде видно, что он юзает модуля, которые в принципе не должен подтягивать. Часть модулей пересмотрели на предмет uses. Не онаружили. Так вот хотелось бы узнать, какой модуль подтягивает эти ненужные модуля при помощи  какой нить приблуды. Мот кто знает такую.


Kolan   (2008-01-27 16:41:00) [1]

> почему подобные деревья не умеет генерировать сам компилятор
> — для меня загадка.

Угу, мог бы ErrorInsite поддчеркивать напрмер, или в хинте сообщать как с перемеными ненужными.


ketmar   (2008-01-27 15:39:00) [2]

>[25] Игорь Шевченко ©(27.01.08 15:25)
ну, не совсем чисто выразился. натурально, имелся в виду «импорт модулей» (что, в принципе, и делает uses). конечно, не детальный поимённый импорт сущностей(для такого придётся скрипт посложнее делать, а для качественного так и вовсе проще работать с AST).

почему подобные деревья не умеет генерировать сам компилятор — для меня загадка.


Игорь Шевченко   (2008-01-27 15:25:00) [3]

ketmar ©   (27.01.08 14:49) [24]

Не импорта, а uses. Несколько разные вещи.


ketmar   (2008-01-27 14:49:00) [4]

>[22] Игорь Шевченко ©(27.01.08 12:58)
[0]:
>Можно ли как-то узнать, какой модуль какие модуля «подтягивает» при
>компиляции?

и где тут задача «определить ненужное»? задача сформулирована как «построить списки импорта (возможно, в виде дерева)». это делается простым find+[e]grep/awk. ни на что большее скрипт и на замахивается.


Kolan   (2008-01-27 13:10:00) [5]

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


Игорь Шевченко   (2008-01-27 12:58:00) [6]

ketmar ©   (27.01.08 12:52) [21]


> тут всей задачи-то — на один скриптик с парой регэкспов…


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


ketmar   (2008-01-27 12:52:00) [7]

окошки, кнопочки, UML… капец. вот что делает с людьми отсутствие удобных консольных инструментов. тут всей задачи-то — на один скриптик с парой регэкспов…


salexn   (2008-01-25 14:52:00) [8]

спасибо.


Семеныч   (2008-01-25 14:33:00) [9]

http://www.peganza.com/#ICARUS


Amoeba   (2008-01-25 14:28:00) [10]

Посмотри здесь:
http://www.peganza.com/


Kolan   (2008-01-25 14:16:00) [11]

Есть еще метод. Нарисовать UML диаграмму модулей. Использовать класы как обозначение модулей. Ассоциации если связаны в интерфейсе. Зависимости если связваны в реализации. Удобно пользоваться, но строить за… трудно короче :)


Kolan   (2008-01-25 14:06:00) [12]

> очень редко — форматирует хард

Пчти никогда :)


> ну какого нибудь юнгу можно было бы и заставить полазать
> если уж так критично…

Да ну пративно это лазить…


Kolan   (2008-01-25 14:05:00) [13]

Отправил.

Там окно ввода и кнопка.

В окно ввода вводишь путь к папке с проектом.

Жмешь на кнопку. Он построит дерево.


Palladin   (2008-01-25 14:03:00) [14]

ну млин :)
ну какого нибудь юнгу можно было бы и заставить полазать если уж так критично...


salexn   (2008-01-25 14:03:00) [15]

>иногда - вешает машину
>очень редко - форматирует хард

улыбнуло :) будем тестить на виртуалке


salexn   (2008-01-25 14:02:00) [16]

используют конечно. но! никто не обращал внимания некоторое время на эту проблему. Ну вырос и вырос. А лазить по всем изменениям - не радует. И CVS не очень располагает к поиску изменений с даты по дату


Palladin   (2008-01-25 13:57:00) [17]


> Проект большой и изменяют несколько человек

а, как бы, эти несколько мудрых магикан никакой системы контроля версий не используют?


salexn   (2008-01-25 13:56:00) [18]

О! Если можешь кинь на мыло salexn@tut.by
Буду премного благодарен!


Palladin   (2008-01-25 13:55:00) [19]


> Не всегда правильно выбирает имена модулей.

иногда - вешает машину
очень редко - форматирует хард

:))


Kolan   (2008-01-25 13:52:00) [20]

Строит дерево для каждого юнита в папке:
Юнит:
 модули в int. части
 модули в imp. части
 модули, который используют этот
 двунаправленая связь


Если есть двунаправленая связь, то раскрывает нод.

Не всегда правильно выбирает имена модулей.

давай пришлю на мыло.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо