【问题标题】:Enabling javac debugging for Apache ANT为 Apache ANT 启用 javac 调试
【发布时间】:2012-08-07 03:18:17
【问题描述】:

只是一个简单的问题。对于 ANT 构建,如果我完全不使用 debuglevel 参数,它会使用所有调试信息进行编译吗?或者在 javac 任务中包含debuglevel="lines,vars,source" 会更好吗?我想启用最高级别的调试。这是一个sn-p:

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

【问题讨论】:

    标签: java xml apache ant build


    【解决方案1】:

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

    来自javac Ant task 文档:

    调试

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

    调试级别

    要附加到 -g 命令行开关的关键字列表。除了现代,经典(版本> = 1.2)和jikes之外,所有实现都将忽略这一点。合法值是 none 或以下关键字的逗号分隔列表:lines、vars 和 source。 如果没有指定debuglevel,默认情况下,-g不会附加任何内容。如果没有开启debug,这个属性会被忽略。

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

    【讨论】:

      猜你喜欢
      • 2012-07-15
      • 2010-10-22
      • 2014-02-28
      • 1970-01-01
      • 2017-01-10
      • 2013-03-14
      • 2011-08-03
      • 1970-01-01
      • 2013-07-03
      相关资源
      最近更新 更多