Включение отладки javac для Apache ANT
Просто простой вопрос. Для сборок ANT, если я оставлю debuglevel
Полностью выходящий параметр скомпилирует ВСЕ отладочную информацию? Или было бы лучше включить debuglevel="lines,vars,source"
в задании javac? Я хочу включить максимально возможный уровень отладки. Вот фрагмент:
<javac srcdir="${dir.source}"
destdir="${dir.classes}"
deprecation="${javac.deprecation}"
debug="${veracode.release.mode}"
debuglevel="lines,vars,source" <-- should I leave this line out? -->
optimize="${javac.optimize}">
1 ответ
Краткий ответ: Да, вы можете оставить debuglevel
приписывать, пока вы устанавливаете debug
приписывать true
,
От javac Ant task
документация:
отлаживать
Указывает, должен ли источник быть скомпилирован с отладочной информацией; по умолчанию выкл. Если установлено значение off, -g:none будет передаваться в командной строке для компиляторов, которые его поддерживают (для других компиляторов аргумент командной строки не будет использоваться). Если установлено значение true, значение атрибута debuglevel определяет аргумент командной строки.
DebugLevel
Список ключевых слов, добавляемых к ключу командной строки -g. Это будет игнорироваться всеми реализациями, за исключением современных, классических (ver >= 1.2) и джайков. Допустимые значения: "none" или разделенный запятыми список следующих ключевых слов: строк, переменных и источника. Если debuglevel не указан, по умолчанию ничего не будет добавлено к -g. Если отладка не включена, этот атрибут будет игнорироваться.
Поэтому настройка debug
в true
и опуская debugLevel
так же, как прохождение флага -g
без добавленных опций. Согласно javac
документация, передавая -g
Флаг без добавления символа эквивалентен указанию источников, строк и переменных.