Mar*_*lov 9 java eclipse java-8
我遇到的问题是条件断点在我的电脑上不起作用.我使用以下代码:
package test;
public class Main {
public static class C1 {
public static C1 c = new C1();
public Boolean b = null;
private boolean isB() {
if (b == null) {
b = Boolean.TRUE;
}
return b; //USE BREAKPOINT HERE
}
}
public static void main(String[] args) throws Exception {
Thread[] threads = new Thread[100];
for (int i = 0; i < 100; i++) {
Thread t = new Thread(new Runnable() {
public void run() {
C1.c.isB();
}
});
threads[i] = t;
}
for (Thread t : threads) {
t.start();
}
}
}
Run Code Online (Sandbox Code Playgroud)
条件断点设置为"return b;" 行并使用"Boolean.TRUE.equals(b)"条件.我在没有任何插件的情况下重新安装Eclipse并尝试了不同版本的Java 8,但每次我得到相同的错误时,都会说"条件断点遇到运行时异常.原因:java.lang.InternalError:获取的ReferenceType的MethodID不是ReferenceType发生了检索堆栈帧."
我不使用任何JRebel,DCEVM或一些分析工具.
可能是什么原因?它可能是CPU相关的问题吗?我使用的是英特尔6700K.Windows 10 + JDK8u111 + Neon.1a版本(4.6.1).也不适用于Eclipse Mars.
我已经在 Eclipse Photon 2018 上使用 JDK 8 和 7(均为 64 位)对此进行了测试
版本:Photon 发布 (4.8.0) 内部版本号:20180619-1200
并且断点工作正常。
我怀疑这与您的 JDK 或 Eclipse 版本有关。
| 归档时间: |
|
| 查看次数: |
1297 次 |
| 最近记录: |