![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Delphist |
|
|||
![]() Delphist Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2145 Регистрация: 3.2.2004 Где: всегда в сети Репутация: 2 Всего: 3 |
В окне опции (Project->Options->Compiler) в IDE Delphi задаются настройка компилятора. На прикрепленном рисунке я красными квадратиками пометил 3 интересующие меня опции, в связи с которыми у меня возникли вопрос:
1) Если все эти опции снять для выходного (итогового) проекта как они повлияют на него, ну понятно размер уменьшиться, а еще на что повлияют 2) Какие есть аналоги этим опциям для управлениями ими из под исходника, вот например для опции Optimization есть {$OPTIMIZATION ON} {$OPTIMIZATION OFF} Присоединённый файл ( Кол-во скачиваний: 34 )
options.JPG 51,63 Kb-------------------- ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др). Когда-то давным-давно использовал это... |
|||
|
||||
| bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 31 Всего: 88 |
Stack frames влияет на возможность использовать внешние дебаггеры и профайлеры
Debug information - возможность отладки Use debug DCUs - возможность отладки с входом в библиотечные исходники -------------------- Обижено школьников: 8 |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Кроме Debug Information не нужно ничего снимать.
А посмотреть директивы очень просто. Зажми Ctrl и нажми 2 раза букву O. |
|||
|
||||
| Delphist |
|
|||
![]() Delphist Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2145 Регистрация: 3.2.2004 Где: всегда в сети Репутация: 2 Всего: 3 |
Скажи, пожалуйста, а почему не нужно выключать опцию: Stack frames Use debug DCUs для выходного файла Ну понятно когда мы только пишим проект, нам они нужны для удобной отладки, а вот в релизном проекте, зачем нам нужны эти опции. -------------------- ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др). Когда-то давным-давно использовал это... |
|||
|
||||
| CodeMonkey |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 38 Всего: 89 |
F1:
Добавлено через 3 минуты и 37 секунд Для всякой диагностики. -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
| Delphist |
|
|||
![]() Delphist Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2145 Регистрация: 3.2.2004 Где: всегда в сети Репутация: 2 Всего: 3 |
Я так понимаю для релизной версии необходимо выключать Use debug DCUs, Local symbols ({$L-}) и Debug information({$D-}), остальные должны быть включены. Правильно ли я понял? -------------------- ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др). Когда-то давным-давно использовал это... |
|||
|
||||
| cemick |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 416 Регистрация: 6.7.2006 Где: Санкт-Петербург Репутация: 2 Всего: 6 |
Еще включать опимизацию и выключать стек
|
|||
|
||||
| Delphist |
|
|||
![]() Delphist Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2145 Регистрация: 3.2.2004 Где: всегда в сети Репутация: 2 Всего: 3 |
Значит получается, что для релиза нужно сделать так: {$OPTIMIZATION ON} Use debug DCUs (выключить, интересен аналог через директиву) Stack frames (выключить, интересен аналог через директиву) Local symbols ({$L-}) Debug information({$D-}) Правильно ли? -------------------- ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др). Когда-то давным-давно использовал это... |
|||
|
||||
| CodeMonkey |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 38 Всего: 89 |
Зависит от того, какой программы.
Обычная программа: Все опции отладки (debug information и т.п.) вообще на готовый модуль не влияют, т.к. отладочная информация в exe/DLL не хранится => смысла их выключать я не вижу (Use Debug DCUs - по вкусу). Оптимизацию я вообще не вижу смысла выключать. Разве что совсем страшное что-то напишете. Stack Frames вообще включать незачем. Генерацию map-файла выключаем. Include TD32 debug info - включаем только для отладки внешнего процесса. Соответственно, Include remote debug info - включаем только для удалённой отладки. Программа, в которой используется механизм диагностики исключений (грубо говоря) - например, JclHookExcept/JclDebug, EurekaLog, madExcept: Все опции отладки (debug information и т.п.) держать включёнными, т.к. в противном случае не будет доступна отладочная информация. Соответственно, ваши информационные механизмы пойдут лесом. Use Debug DCUs если при отладке ещё можно ставить по вкусу, то для релиза - строго включать. Оптимизацию я вообще не вижу смысла выключать. Разве что совсем страшное что-то напишете. Stack Frames вообще вЫключать незачем. Генерацию map-файла включаем на полную (ок, некоторые эксперты включают это автоматом). Include TD32 debug info - включаем только для отладки внешнего процесса. Соответственно, Include remote debug info - включаем только для удалённой отладки. P.S. Все директивы можно посмотреть в справке. Неужели так сложно нажать F1 в окне настроек проекта на вкладке Compiler? -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
| bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 31 Всего: 88 |
ну местами это позволяет увеличить возможную глубину рекурсии
-------------------- Обижено школьников: 8 |
|||
|
||||
| Delphist |
|
|||
![]() Delphist Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2145 Регистрация: 3.2.2004 Где: всегда в сети Репутация: 2 Всего: 3 |
CodeMonkey, меня именно интересовала обычная программа. Вот только не понятно, что делать с Local symbols включать или вЫключать для обычной релизной проги? И что значит Use Debug DCUs - по вкусу Это сообщение отредактировал(а) Delphist - 13.2.2009, 10:49 -------------------- ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др). Когда-то давным-давно использовал это... |
|||
|
||||
| CodeMonkey |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 38 Всего: 89 |
Да, понятно, но речь шла об опциях проекта, а не локальных настройках. >>> Вот только не понятно, что делать с Local symbols включать или вЫключать для обычной релизной проги? Ещё раз для тех, кто не читает: все опции отладки (debug info, local symbols, ref info) выключать не имеет смысла. >>> И что значит Use Debug DCUs - по вкусу То и значит. А у вас есть два варианта трактовки этих слов? -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
| Delphist |
|
|||
![]() Delphist Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2145 Регистрация: 3.2.2004 Где: всегда в сети Репутация: 2 Всего: 3 |
Use Debug DCUs вообще нужен ли экзешнику? Или он на него никак не влияет -------------------- ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др). Когда-то давным-давно использовал это... |
|||
|
||||
| Christoph |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 667 Регистрация: 23.1.2008 Где: Харьков Репутация: 1 Всего: 11 |
Use Debug DCUs использование отладочных версий стандартных модулей библиотеки компонентов VCL То есть во время отлдаки можно посмотреть что делается с VCL,клавишой ф7 Это сообщение отредактировал(а) Christoph - 13.2.2009, 21:12 -------------------- ![]() |
|||
|
||||
| Pavelbej |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 419 Регистрация: 5.7.2005 Репутация: нет Всего: 6 |
В моем проекте (Delphi 7) включение Use Debug DCU делает екзешник на 120 КБайт больше.
|
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |