Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Debug \ Release, в чём разница? 
:(
    Опции темы
Aurus
Дата 28.12.2005, 17:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 34
Регистрация: 14.8.2005
Где: Новосибирск

Репутация: нет
Всего: 0



В чём разница между "Debug" и "Release". Я просто не понимаю smile
PM MAIL ICQ   Вверх
mr.DUDA
Дата 28.12.2005, 18:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Цитата(Aurus @ 28.12.2005, 16:39)
В чём разница между "Debug" и "Release". Я просто не понимаю 

По умолчанию, в Release-конфигурации:
1) включена опция Optimize Code
2) выключена опция Generate Debug Information (не генерится pdb-файл)
3) отсутствует константа препроцессора DEBUG, что приводит к отключению всех conditional-методов с данной константой (например, отключаются все методы System.Diagnostics.Debug: Assert, Write, Fail и др.)


--------------------
user posted image
PM MAIL WWW   Вверх
Aurus
Дата 29.12.2005, 18:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 34
Регистрация: 14.8.2005
Где: Новосибирск

Репутация: нет
Всего: 0



вообщем я мало чего понял.
и так:
1)что за опция Optimize Code?
2)не генерится pdb-файл - что это за файл такой?
3)что такое conditional-методы ?

я вообще ламо в этом деле. обьясните на пальцах - если можно.
заранее спасибо.
PM MAIL ICQ   Вверх
mr.DUDA
Дата 30.12.2005, 11:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Цитата(Aurus @ 29.12.2005, 17:47)
1)что за опция Optimize Code?
2)не генерится pdb-файл - что это за файл такой?
3)что такое conditional-методы ?

Очень хочется сказать: читай MSDN...
1) оптимизация кода - это оптимизация кода smile
2) файл с отладочной информацией, без него не получится "пошагать" по исходному коду в отладке
3) методы, помеченные атрибутом [Conditional("имя_константы")], компилятор автоматически убирает их объявление и вызовы из сборки, если константа эквивалентна false


--------------------
user posted image
PM MAIL WWW   Вверх
WTF
Дата 30.12.2005, 12:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 30.12.2005

Репутация: нет
Всего: нет



А еще можно вот так сделать:
Код

#if DEBUG
// этот код выполнится только в DEBUG версии
...
#else
// а этот - только в RELEASE
...
#endif


Как правило DEBUG версия используется в процессе разработки приложения, а RELEASE - когда оно идет в эксплуатацию пользователям.
PM MAIL WWW   Вверх
Exception
Дата 30.12.2005, 13:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 29
Всего: 186



Кстати (если не ошибаюсь), при Debug компилер вставляет IL-инструкции nop в код, а в Release он так не делает. Правда, зачем эти nop нужны, не знаю...
PM   Вверх
dronzo
Дата 30.12.2005, 14:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 26.11.2005
Где: Москва

Репутация: 6
Всего: 8



Ага, самому стало интересно. Вот, что нашёл по этому поводу.

http://www.panopticoncentral.net/archive/2004/02/03/267.aspx

Цитата
What does /optimize do?
....
It removes any NOP instructions that we would otherwise emit to assist in debugging. When optimizations are off (and debugging information is turned on), the compiler will emit NOP instructions for lines that don't have any actual IL associated with them but which you might want to put a breakpoint on. The most common example of something like this would be the “End If“ of an “If” statement - there's no actual IL emitted for an End If, so we don't emit a NOP the debugger won't let you set a breakpoint on it. Turning on optimizations forces the compiler not to emit the NOPs.


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0527 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.