Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2008.11.02;
Скачать: [xml.tar.bz2];

Вниз

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

 
salexn   (2008-01-25 13:12) [0]

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


 
Сергей М. ©   (2008-01-25 13:19) [1]


> Можно ли как-то узнать


В ран-тайм что ли ?


 
salexn   (2008-01-25 13:23) [2]

да нет конечно. просто как анализатор нужен


 
Сергей М. ©   (2008-01-25 13:27) [3]

Раз нет, то для дизайн-тайм имеется dump.exe


 
Игорь Шевченко ©   (2008-01-25 13:36) [4]


> да нет конечно. просто как анализатор нужен


map-файл


 
salexn   (2008-01-25 13:39) [5]

мне нужен анализатор, который бы выдал, что юнит такой-то юзает такие-то юниты... С модулями - это я погорячился


 
Сергей М. ©   (2008-01-25 13:43) [6]


> мне нужен анализатор


Ну и напиши. Какие проблемы-то ?

map-файл - он текстовый, структура его понятна и прозрачна ..


 
Kolan ©   (2008-01-25 13:46) [7]

> мне нужен анализатор, который бы выдал, что юнит такой-то
> юзает такие-то юниты&#133 С модулями — это я погорячился

Есть такая прога у меня, сделана за 15 мин&#133


 
Kolan ©   (2008-01-25 13:52) [8]

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


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

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

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


 
Palladin ©   (2008-01-25 13:55) [9]


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

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

:))


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

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


 
Palladin ©   (2008-01-25 13:57) [11]


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

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


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

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


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

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

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


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

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


 
Kolan ©   (2008-01-25 14:05) [15]

Отправил.

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

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

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


 
Kolan ©   (2008-01-25 14:06) [16]

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

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


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

Да ну пративно это лазить&#133


 
Kolan ©   (2008-01-25 14:16) [17]

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


 
Amoeba ©   (2008-01-25 14:28) [18]

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


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

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


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

спасибо.


 
ketmar ©   (2008-01-27 12:52) [21]

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


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

ketmar ©   (27.01.08 12:52) [21]


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


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


 
Kolan ©   (2008-01-27 13:10) [23]

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


 
ketmar ©   (2008-01-27 14:49) [24]

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

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


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

ketmar ©   (27.01.08 14:49) [24]

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


 
ketmar ©   (2008-01-27 15:39) [26]

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

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


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

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

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



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2008.11.02;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.008 c
15-1221120707
trubin
2008-09-11 12:11
2008.11.02
Доступен триал delphi 2009


11-1194706878
matroskin66
2007-11-10 18:01
2008.11.02
Несколько форм в dll


2-1222322940
Vitaliy_____
2008-09-25 10:09
2008.11.02
Сохранение массива в файл


10-1150277849
oto
2006-06-14 13:37
2008.11.02
архивизация файлов


11-1195121648
Альберт
2007-11-15 13:14
2008.11.02
при установки kol не найден exptintf.dcu





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский