Существует ли в Java понятие debug/release сборки? Или, если это относится не к языку, а к среде, есть ли оно в IDEA?
Re: debug/release сборка
От:
Аноним
Дата:
23.02.13 15:50
Оценка:
Здравствуйте, Zomb, Вы писали:
Z>Существует ли в Java понятие debug/release сборки? Или, если это относится не к языку, а к среде, есть ли оно в IDEA?
Можно собирать без информации необходимой для дебага для уменьшения объёма на 20-25%. Оптимизаций последующего выполнения компилятор практически не делает.
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Zomb, Вы писали:
Z>>Существует ли в Java понятие debug/release сборки? Или, если это относится не к языку, а к среде, есть ли оно в IDEA?
А>Можно собирать без информации необходимой для дебага для уменьшения объёма на 20-25%. Оптимизаций последующего выполнения компилятор практически не делает.
а как это — без информации необходимой для дебага? что под этой информацией понимается? выпиливаются всякие logger.debug statementы?
Здравствуйте, Zomb, Вы писали:
Z>Существует ли в Java понятие debug/release сборки? Или, если это относится не к языку, а к среде, есть ли оно в IDEA?
а причем тут идея? вряд ли кто-то собирает релиз сборки используя идею
Re: debug/release сборка
От:
Аноним
Дата:
27.02.13 04:42
Оценка:
Здравствуйте, Zomb, Вы писали:
Z>Существует ли в Java понятие debug/release сборки? Или, если это относится не к языку, а к среде, есть ли оно в IDEA?
Не относится к IDE, никто не собирает конечный билд в реакторе.
Но зависит от того что вы используете для сборки. В случае Ant/Gradle/sh все зависит от вас, пишите скрипт сборки как хотите. В случае Maven есть понятие profile, для каждого их которых можно затать свои настройки.
Чем билд отличается тоже конечно зависит от вас, но обычно:
* включен/выключен debug для компилятора (например пропадут номера строк в стектрейсе)
* разные настройки log4j, те разный файл настроект
* и еще какойто .properties файл, отвечающий за основные настройки если они тоже зависят от типа сборки (например адрес db)
Здравствуйте, зиг, Вы писали:
зиг>а как это — без информации необходимой для дебага? что под этой информацией понимается? выпиливаются всякие logger.debug statementы?
Имена локальных переменных, привяка номеров строк Java исходника к байткоду и что-то ещё http://docs.oracle.com/javase/7/docs/technotes/tools/windows/javac.html
-g
Generate all debugging information, including local variables. By default, only line number and source file information is generated.
-g:none
Do not generate any debugging information.
-g:{keyword list}
Generate only some kinds of debugging information, specified by a comma separated list of keywords. Valid keywords are:
source
Source file debugging information
lines
Line number debugging information
vars
Local variable debugging information
Здравствуйте, Blazkowicz, Вы писали:
B>Здравствуйте, зиг, Вы писали:
зиг>>а как это — без информации необходимой для дебага? что под этой информацией понимается? выпиливаются всякие logger.debug statementы? B>Имена локальных переменных, привяка номеров строк Java исходника к байткоду и что-то ещё B>http://docs.oracle.com/javase/7/docs/technotes/tools/windows/javac.html
можно еще глупый вопрос — а на что будет влиять отсутствие line number and source file information — будет пустой неинформативный стектрейс?
и что в данном контексте подразумевается под local vars ? я видимо этого никогда не наблюдала т.к. по дефолту оно и не включено
Здравствуйте, зиг, Вы писали:
зиг>можно еще глупый вопрос — а на что будет влиять отсутствие line number and source file information — будет пустой неинформативный стектрейс?
При отладке нельзя поставить breakpoint в теле метода. В stacktrace не будет номеров строк.
зиг>и что в данном контексте подразумевается под local vars ? я видимо этого никогда не наблюдала т.к. по дефолту оно и не включено
Имена локальных переменных. При отладке не будет видно локальных переменных. Попробуй подебажить классы JDK — увидишь. Декомпиляторы тоже не смогут восстановить эти имена.
Здравствуйте, зиг, Вы писали:
зиг>Здравствуйте, Zomb, Вы писали:
Z>>Существует ли в Java понятие debug/release сборки? Или, если это относится не к языку, а к среде, есть ли оно в IDEA?
зиг>а причем тут идея? вряд ли кто-то собирает релиз сборки используя идею
А почему нет? И как тогда правильно собирать?
Re[3]: debug/release сборка
От:
Аноним
Дата:
14.03.13 20:43
Оценка:
Здравствуйте, Zomb, Вы писали:
Z>А почему нет? И как тогда правильно собирать?
Правильно ant/maven/gradle