Debugging 调试器赢了';我不能和JMockit一起工作

Debugging 调试器赢了';我不能和JMockit一起工作,debugging,junit4,jmockit,javaagents,Debugging,Junit4,Jmockit,Javaagents,希望对某人来说这是一个简单的问题 我正在使用RAD7.5.2,正在编写Junit测试。我用JUnit3编写的很好,然后我想模拟一些函数调用。所以我加载了JMockit0.9.7和JUnit4.6。我还包括-javaagent:jmockit.jar作为VM参数 当我“以Junit测试的方式运行”时,它一点问题也没有(至少,我在输出中看不到任何问题)。Junit的输出良好,并且没有错误转储到控制台 当我“作为Junit测试进行调试”时,它将不起作用。它让我陷入: 找不到Instrumentatio

希望对某人来说这是一个简单的问题

我正在使用RAD7.5.2,正在编写Junit测试。我用JUnit3编写的很好,然后我想模拟一些函数调用。所以我加载了JMockit0.9.7和JUnit4.6。我还包括-javaagent:jmockit.jar作为VM参数

当我“以Junit测试的方式运行”时,它一点问题也没有(至少,我在输出中看不到任何问题)。Junit的输出良好,并且没有错误转储到控制台

当我“作为Junit测试进行调试”时,它将不起作用。它让我陷入:

找不到InstrumentationImpl.class-->源

…当我点击继续

找不到NativeMethodAccessorImpl.class-->源

…当我点击“继续”时

JUnit在此之后结束。它将以下内容转储到控制台:


线程“main”java.lang.reflect.InvocationTargetException中出现异常 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处 在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)中 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中 位于java.lang.reflect.Method.invoke(Method.java:618) 在sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:160)中 原因:java.lang.UnsatifiedLink错误:sun/instrument/InstrumentationImpl.redefineClasses0([Ljava/lang/instrument/ClassDefinition;)V 在sun.instrument.InstrumentationImpl.redefineClasses(InstrumentationImpl.java:98)中 在mockit.internal.RedefinitionEngine.redefinitionmethods(RedefinitionEngine.java:197)中 在mockit.internal.RedefinitionEngine.redefinitionmethods(RedefinitionEngine.java:184)中 在mockit.internal.RedefinitionEngine.redefinitionmethods(RedefinitionEngine.java:116)中 位于mockit.internal.RedefinitionEngine.setUpInternalStartupMock(RedefinitionEngine.java:53) 位于mockit.internal.Startup.loadInternalStartupMocks(Startup.java:123) 在mockit.internal.Startup.initialize(Startup.java:110)中 在mockit.internal.Startup.premain(Startup.java:97) …还有5个

致命错误:处理-javaagent失败


我可以在我的测试上运行JUnit3和JUnit4,没有问题。当我使用-javaagent:jmockit.jar(带有调试器;它们本身就可以)时,事情变得很糟糕,我必须这样做才能使用jmockit


想法?

我经常在调试模式下运行JUnit测试,这些测试使用JMockit(带或不带“-javaagent”JVM参数),从未出现过任何问题

您确定“作为Junit测试调试”配置的类路径与“作为Junit测试运行”配置的类路径相同吗?因为您遇到了一个不满意的链接错误,可能是缺少一些jar文件


如果这不是错误的原因,那么可能是RAD 7.5.2特有的问题…

RAD 7.5.5也会出现这种情况;与Jacob描述的症状相同。我有一个不同的问题,二进制文件实际上与源代码不一致。