我正在调试使用Jmockit(v1.1)的单元测试用例,我遇到的一个奇怪的情况是:一个类被模拟为替换一个方法实现。然后在调试时,该类源代码与其对应的二进制文件不对齐。我通过调试步骤到非存在方法(从源代码看)确认了这一点。
我在eclipse上尝试过字节代码大纲工具,但字节代码基本上与源代码对齐而不是实际执行的字节代码。
使用的工具(MVN,eclipse)以及错误开始时,调试面板上出现错误com.sun.jdi.InternalException: Got error code in reply:35 occurred retrieving this from stack frame
如何研究这种源/二进制不匹配问题?
答案 0 :(得分:0)
你没有提到你正在使用的工具/ IDE,但根据经验,debbugging IDE使用的库可能与运行时库不匹配,在我的情况下,它是使用{{1}的Eclipse + Maven(M2E)范围依赖性(即:你说的是2.1版本,但实际上它在运行时为2.2)。因此,运行时堆栈跟踪中的行与Eclipse显示的源不匹配。