Eclipse – debugging器不会停在断点处

我试图麻烦拍摄一个JUnit。 在源代码中,我已经在两个地方设置了断点:1)在一个静态成员被初始化的行中2)其中一个testing用例的第一行。

debugging器停在静态字段初始化行中。 但是在testing案例中并没有停止。 无论我在哪里设置testing用例的中断点,debugging器都不会停在那里。 我知道确定testing用例是被执行的,因为我可以看到我添加的日志消息出现在日志中。

任何帮助将不胜感激。

我正在使用Eclipse Galileo和JUnit4启动器。

这可能与JDK 6 Update 14中的一个错误有关,如JDK 6更新15的发行说明中所述 。

如果事实certificate是这个问题的话,那么你应该转向更高版本的JDK(不过这并不能保证,因为修复已经在6u16,6u18和7b1上发布了 )。 最好的select是使用-XX:+ UseParallelGC标志。 增加最小和最大堆大小的大小,推迟第一个GC,暂时缓解。

顺便说一句, 在Eclipse中使用这个错误报告来跟踪其他人的行为。

修复可以像点击运行/跳过所有断点一样简单。 为我工作。

确保在“运行”>“debuggingconfiguration”下,如果适用于您的情况,则select“在主站点停止”。

通常,当这种情况发生在我身上时(很less发生),意味着正在执行的代码与编辑器中的代码不同。 Eclipse不时会发生这样的情况:构build的类和编辑器中的代码不同步。 当发生这种情况时,我会得到各种奇怪的debugging行为(debugging空行,跳过代码行等)。

重新启动Eclipse,清理所有项目并重build所有东西通常会清理干净。 我也有Maven的插件(旧版本,现在还没有一段时间),也有这样的趋势。

否则,这可能是一个错误,也许Vineet说,

希望这可以帮助

您可能不小心跳过了Eclipse工具栏中的所有断点。 要解决这个问题去Eclipse – >运行 – >跳过所有断点。

项目 – >清洁似乎在JRE 8上工作

对于JDK7,运行 – >debuggingconfiguration,选中“在debugging时运行testing后保持JUnit运行”。

确保你在顶部声明了包。 在我的常规代码中,这个断点停在:

package Pkg1 import java.awt.event.ItemEvent; isMule = false class LineItem { // Structure defining individual DB rows public String ACCOUNT_CODE public String ACCOUNT_DESC ... 

这不会停在断点:

 import java.awt.event.ItemEvent; isMule = false class LineItem { // Structure defining individual DB rows public String ACCOUNT_CODE public String ACCOUNT_DESC ... 

为了debugging远程工作,java .class文件必须与debugging信息一起编译。 如果“ -g:none ”选项被传递给编译器,那么类文件将不会有必要的信息,因此debugging器将无法将源代码上的断点与远程类中的断点匹配。 同时,如果jars / class文件被混淆 ,那么他们也不会有任何debugging信息。 根据你的反应,很可能这不是你的情况,但这个信息可能对其他面临同样问题的人有用。

在我的情况下,问题是我没有debugging视图打开debugging透视,所以:

1 – 确保打开了debugging视图:

日食调试器不工作1

2 – 确保您打开了debugging视图:

日食调试器不工作2

发生了一次,当我没有选中“运行>build立自动”,忘了重新检查它。

要删除断点 :

  1. debugging你的class级作为一个junittesting
  2. 当debugging器停止时,单击“variables”和“expression式”旁边的“断点”选项卡
  3. 在断点选项卡的右上angular,单击带有两个“X”
  4. 停止testing,更换断点并再次运行debugging器

还有一个关于维尼·雷诺兹的回答。

我发现我必须在eclipse.ini中设置-XX:+ UseParallelGC

我设置了如下vm参数

 -vmargs -Dosgi.requiredJavaVersion=1.7 -Xms512m -Xmx1024m -XX:+UseParallelGC -XX:PermSize=256M -XX:MaxPermSize=512M 

解决了这个问题。

同时validation其他行上的断点是否工作,这可能是debugging器中的一个错误。 我在Eclipsedebugging器中遇到了一个问题,那就是把代码放在下一行的布尔赋值上的断点不起作用。 我在这里报告了这一点 ,但是把它放在上一行或下一行。

如果什么都行不通

  1. 删除远程/本地debuggingconfiguration,并创build一个新的。
  2. 在debuggingconfiguration中添加源代码。

另一个可能的问题是debugging器端口可能被防火墙阻止。 例如,我正在使用mule anypoint studio(v 5.4.3)。 默认的debugging器端口是6666.执行stream程时,不会停在断点处。 当我改变端口到另一个(例如8099),它工作正常。

转到Right click->Debug Configuration并检查是否创build了太多的debugging实例。 当我从configuration中删除多个debugging实例和刚开始的debugging时,我的问题得到了解决。

如果你在Eclipse上,

右键单击“包资源pipe理器”下的项目文件夹。

转到源代码 – >清理并select你的项目。

这将清理任何混乱,你的突破点现在应该工作。

创build一个新的工作空间为我工作。

在我的情况下,我在同一个工作区中有多个项目。 我试图debugging的java文件存在于多个具有相同包的项目中。

我不需要其他项目,所以只需closures不相关的项目(或从无关项目中删除文件)。

这对我有用:

我不得不把我的本地服务器地址在这样的PHP服务器configuration:

在这里输入图像描述

注意 :该地址是我在Apache .conf文件中configuration的地址。

注意 :唯一有效的断点是“一线rest”,之后,断点不起作用。

注意 :检查你的php.ini文件中的xdebug属性,并删除任何你认为不需要的东西。