2012-08-09 22 views
17

簡単な質問です。 ANTビルドでは、debuglevelパラメータを完全に残しておくと、すべてのデバッグ情報とともにコンパイルされますか?または、javacタスクにdebuglevel="lines,vars,source"を含める方が良いでしょうか?私は可能な限り最大レベルのデバッグを可能にしたい。ここでは、スニペットがあります:Apache用のjavacデバッグを有効にするANT

<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}"> 

答えて

20

短い答え:はい、あなたは限り、あなたはtruedebug属性を設定するようdebuglevel属性を省略することができます。

javac Ant taskドキュメントから:

デバッグ

は、ソースがデバッグ情報付きでコンパイルする必要があるかどうかを示します。デフォルトではオフになっています。 offに設定すると、それをサポートするコンパイラのコマンドラインで-g:noneが渡されます(他のコンパイラでは、コマンドライン引数は使用されません)。 trueに設定すると、debuglevel属性の値によってコマンドライン引数が決まります。

DEBUGLEVEL

-gコマンドラインスイッチに追加するキーワードのリスト。これは、現代的、古典的(ver> = 1.2)およびjikesを除くすべての実装で無視されます。有効な値は、noneまたはカンマで区切られたキーワード(lines、vars、source)のリストです。 debuglevelが指定されていない場合、デフォルトでは何も-gに追加されません。デバッグがオンになっていない場合、この属性は無視されます。

したがって、truedebugに設定し、debugLevelを省略すると、添付のオプションなしでフラグ-gを渡すのと同じです。 javacのドキュメントによると、何も追加しないで-gフラグを渡すことは、ソース、行、および変数を指定するのと同じです。