2010-07-28 94 views
6

我有一个Java项目,我在NetBeans(版本6.8和6.9)中进行调试,我无法进入或跨越代码。我只能设置断点,然后继续到断点。这不是很方便。我希望能够逐步完成代码,而无需在任何地方设置断点并运行它们。我附加到JVM,因为它无法在NetBeans中启动(它由C程序通过JNI启动)。是否存在与附加到JVM有关的问题?为什么我无法步入NetBeans Debugger中的Java源代码?

如果我碰巧尝试进入/通过一行代码,调试器挂起(暂停按钮被禁用),唯一的选择是分离/结束调试会话。

+0

我没有解决方案,只有印象。我有时会看到netbeans中类似的东西。我想,但我不确定,这是因为项目中的源代码与运行的东西不是相同的版本或源代码。而且,有时还要删除.netbeans/6.x/var/cache帮助。 – Istao 2010-07-28 06:43:06

回答

7

当你的断点已被击中,你已经闯入你的java代码。尝试:

  1. 窗口 - >调试 - >来源
  2. 添加/确认的Java源代码的根目录被设置为“源根”。
+0

在Netbeans中使用自由格式项目时,我已经看到了很多。您必须将一些源目录添加到调试窗口。您可能还需要删除并重新添加断点。 – 2011-05-11 15:23:58

1

在设置断点并运行或使用Debug \ Debug Project之后,我很幸运。在调试菜单中,我只选择了“逐步进入”,IDE开始一次一步地运行我的代码,在需要用户响应时突出显示活动行并使突出显示变灰。 (使用上述关闭Java src代码的建议也大大有用。)

0

我在JSP书籍附带的ONE项目中看到了这种行为。在其他项目中一步一步地正常工作,但是在一个特定的项目中执行“Step over”只是让它运行到下一个断点而不是下一个线。

我将问题追溯到project.properties文件中debug.classpath属性的不同之处。

不良项目有这样: debug.classpath = $ {} build.classes.dir.real:$ {} javac.classpath:$ {} j2ee.platform.classpath

超过工作步骤好项目改为: debug.classpath = $ {javac.classpath}:$ {build.classes.dir}

更改debug.classpath修复了这个问题。

相关问题