1

出于某种原因,如果 Eclipse 每隔一步都会抛出一个崩溃错误,我几乎无法调试任何东西。我在 Eclipse 4.2 上调试 Android。我得到的错误说:

'JDI Event Dispatch' has encountered a problem.
An internal error occurred during: "JDI Event Dispatch".

An internal error occurred during: "JDI Event Dispatch".
java.lang.UnsupportedOperationException

在错误日志中,我得到:

eclipse.buildId=I20120608-1400
java.version=1.7.0_02
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
Framework arguments:  -product org.eclipse.epp.package.java.product
Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product

Error
Fri Mar 15 20:53:09 CDT 2013
An internal error occurred during: "JDI Event Dispatch".

java.lang.UnsupportedOperationException
    at org.eclipse.jdi.internal.MirrorImpl.defaultReplyErrorHandler(MirrorImpl.java:292)
    at org.eclipse.jdi.internal.MethodImpl.bytecodes(MethodImpl.java:345)
    at org.eclipse.jdt.internal.debug.core.model.JDIMethod.isGetterMethod(JDIMethod.java:86)
    at org.eclipse.jdt.internal.debug.core.model.JDIThread$StepHandler.locationIsFiltered(JDIThread.java:2559)
    at org.eclipse.jdt.internal.debug.core.model.JDIThread$StepHandler.locationShouldBeFiltered(JDIThread.java:2525)
    at org.eclipse.jdt.internal.debug.core.model.JDIThread$StepHandler.handleEvent(JDIThread.java:2477)
    at org.eclipse.jdt.internal.debug.core.EventDispatcher.dispatch(EventDispatcher.java:152)
    at org.eclipse.jdt.internal.debug.core.EventDispatcher.access$0(EventDispatcher.java:100)
    at org.eclipse.jdt.internal.debug.core.EventDispatcher$1.run(EventDispatcher.java:249)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

同样根据错误日志,错误发生在 Plug-in 中or.eclipse.core.jobs。任何帮助将不胜感激,我发现没有调试器很难工作!

4

3 回答 3

5

我通过禁用步骤过滤来解决这些错误。似乎它是过滤器简单的吸气剂选项。

于 2013-12-18T07:01:14.290 回答
2

它可能与方法的名称有关。例如这个方法:

getFirstValueInBundles(String key, String defaultValue, Bundle... bundles) {
     ...
}

在步进或步进时导致相同的确切堆栈跟踪。尝试将方法的名称更改为不使用 get...() 的名称:

firstValueInBundles(String key, String defaultValue, Bundle... bundles) {
     ...
}

然后方法就可以正常调试了。

如果这解决了您的问题,我将打开一个错误报告并在此处发布其 ID。

于 2013-07-01T14:58:57.970 回答
0

听起来可能是 Eclipse 中的超时问题。这是一个类似 SO question的链接。似乎通过 Eclipse 的网站有关于此错误的错误报告,但似乎没有任何答案。我希望这可以帮助你。

由于我提到了“表达式”选项卡,如果其中有某些 Eclipse 无法处理的表达式,有时可能会出现 JDI 错误。虽然与您的具体问题无关,但它可能对搜索类似内容的人有所帮助。这是我的一个关于它的答案

于 2013-03-16T02:13:16.933 回答