为ApacheAnt启用javac调试

只是一个简单的问题。对于ANT构建,如果我完全不使用debuglevel参数,它会使用所有调试信息进行编译吗?还是最好在javac任务中包含debuglevel=“lines,vars,source”?我希望启用尽可能高的调试级别。下面是一个片段:

<javac srcdir=“${dir.source}”
destdir=“${dir.classes}”
deprecation=“${javac.deprecation}”
debug=“${veracode.release.mode}”
debuglevel=“行、变量、源”<-我应该把这行删掉吗--&燃气轮机;
optimize=“${javac.optimize}”>

简短回答:是的,只要将debug属性设置为true,就可以保留debuglevel属性

javac-Ant任务文档中:

调试

指示是否应使用调试信息编译源;默认为关闭。如果设置为off,-g:none将在支持它的编译器的命令行上传递(对于其他编译器,将不使用命令行参数)。如果设置为true,则debuglevel属性的值确定命令行参数

debugLevel

要附加到-g命令行开关的关键字列表。除了modern、classic(版本>=1.2)和jikes之外,所有实现都会忽略这一点。合法值为无或以下关键字的逗号分隔列表:行、变量和源如果未指定debuglevel,默认情况下,不会向-g追加任何内容。如果未启用调试,则将忽略此属性

因此,将debug设置为true并省略debugLevel与传递标记-g相同,不附加任何选项。根据javac文档,传递-g标志而不附加任何内容等同于指定源、行和变量

发表评论