2011-01-21 312 views
6

所以几个星期前,我的Eclipse IDE不再允许我远程调试我的应用程序,说它无法安装断点,因为没有显示行号......问题是我的Eclipse是设置为显示行数(我经常在日常开发中使用)Eclipse无法安装断点

我做了一些研究,发现它有时与使用ant在javac中构建项目和调试设置有关。我确信调试是在我的build.xml目标中设置的,但它仍然不会让我用相同的错误进行调试。

现在,为了增加对受伤的侮辱,我点击了“不再显示此消息”的框,所以现在我永远不会知道在我尝试时是否实际上调试了我的程序,或者如果它失败了,该错误消息只是没有出现。

有谁知道如何解决这个问题?或者,至少知道如何切换该错误消息以弹出备份,以便我可以确定/何时修复它?

回答

13

为了重新启用消息:Preferences => java => debug。它是在屏幕的底部:“警告当无法安装断点du缺少行号属性”

对于安装断点的问题,尝试添加-g到您的javac命令行在ant(调试属性你的编译任务,http://ant.apache.org/manual/Tasks/javac.html

最终检查你是否没有在eclipse中将项目映射到JRE而不是JDK。

+0

不要忘记将debuglevel设置为lines,vars,source。如果它不起作用,请将您的ant文件发送给我们。 – Twister 2011-01-21 16:17:26

+0

谢谢!看起来它只是我的一个项目的问题,因为我再次切换错误消息并尝试调试程序的另一部分,并且安装断点时没有任何问题。 – Saggio 2011-01-21 16:26:39

2

我想你可能想尝试在你的ant版本中为compilearg添加-g。

<javac sourcepath="" srcdir="${src}" destdir="${build}" 
     classpath="xyz.jar" debug="on"> 
    <compilerarg value="-g"/> 
</javac> 

此外,如果你不确定是否破发点工作只是把一个破发点,在你的代码中较早的时间点,你知道是得到执行。您还可以添加打印语句以确保断点正在传递。

10

如果您的Eclipse工作空间仅设置了一些无效(陈旧或损坏)的断点,也可能会生成此错误。在“断点”视图中,查找可能在移动或删除的类中设置的断点,然后将其删除。

2

错误可能是由于您在Eclipse中使用的源代码与您用于构建远程调试应用程序的代码不匹配导致的。尝试重新构建并重新运行应用程序并在Eclipse中刷新源代码。

0

我遇到了同样的问题,@jondissed和@twister答案没有帮助,我没有使用定制Ant任务,所以我尝试:

  • 关闭WAR,EJB和EAR项目 - 重新打开 - 仍然 错误部署
  • 关闭日食 - 重新打开,重新启动本地JBoss服务器 - 上部署
  • 关闭日食仍然 错误 - 重启,重启本地JBoss服务器 - 干净JBoss的温度/数据目录 - 仍然错误上部署
  • 取消部署 应用程序 - 删除断点,再添加它们重新部署 - 仍然 错误部署

最后什么工作对我来说是

  • 取消部署应用程序。删除断点。部署应用程序。重新添加断点。

调试现在停止在断点处。

更新1 - 显然Eclipse的只是有时会生气,我只是用它打了约10分钟的时候出现上面没有工作,虽然它弹出错误,我关闭了它,它仍然停在新的单断点: -/