Ant打包 远程 ---- debug unable to install breakpoint in……

本文深入探讨了在使用eclipse和ant进行Java程序编译时,确保生成行号属性的一致性对于远程调试的重要性。通过详细说明eclipse和ant的编译选项设置,确保在不同编译环境中能够实现按行调试和查看变量值的功能。同时,文章还提供了遇到调试错误时的解决策略,并强调了线上运行代码时关闭debug信息的必要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

unable   to   install     breakpoint   in   ...(file   name)   due   to   missing   line   number   attributes. 
modify   complier   options   to   generate   line   number   attributes. 

 

 

转载:http://yimi128.iteye.com/blog/907079

 

 

场景:

 

远程服务器上的java程序使用ant编译,本地java程序使用eclipse编译,远程调试服务器上的java程序。

 

基本的条件比如要用相同版本的jdk编译是前提,这里着重强调相关的编译条件。

 

设置 

 

1.本地eclipse编译时,需要工程右键->属性->Java Compiler->Classfile Generation

     勾选下面的Add variable attributes ...

                    Add line number attributes ...

                    Add source file name ...

                    Preserve unused local variables

 

2.远程服务器上使用ant编译时,javac任务添加属性debug="on" debuglevel="vars ,lines ,source "

 

 

 

结论 

 

对比上面的设置,我们可以看出,我们要能按行debug,并且看到变量值的话,要保证eclipse和ant编译的参数都相同。

 

当然这只是调试时需要的配置,真正上线运行的代码,编译时要关闭debug信息,即debug="off"。

 

在eclipse中可能会出现的错误:

  • 设置断点时,报:Unable to install breakpoint due to missing line number attributes. Modify compiler options to generate line number attributes错误。

      解决办法:首先按上面的第一条配置eclipse,另外在ant的javac任务中打开debug属性,即debug="on"

 

  • 现在可以调试了,但是只能看到this的变量,local variables都没有显示

      解决办法:相信你看了上面的2条应该知道怎么办了吧?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值