调试断点在Eclipse中不工作
问题描述:
我想在eclipse调试JUnit测试,但我的断点不发射(除非他们是在第一或第二线)。调试断点在Eclipse中不工作
我试图删除并重新创建所有断点在工作区中,清洁工程,创建一个新的调试配置,并单独运行测试方法,并与其他方法的测试类的一部分。但是都没有用:-(
public void testLoadPatientsAndConvertToBeans() throws IOException, CDataGridException {
File file = fileutil.getFileFromPrefsOrPrompt(basefileDef);
CDataBuilder builder = new CDataDelimitedFileBuilder(file,
CDataDelimitedFileBuilder.DelimiterSettings.WINDOWS_CSV,
basefileDef);
// breakpoints placed on lines from here on do not fire
CDataCacheContainer container =
cacheIO.construct(
new CDataNarrower(
cacheIO.construct(builder)
).setConvertMissing(true));
assertEquals(13548, container.size());
cacheIO.export(container, patients);
Collection<Patient> pBeans = patients.getBeans();
assertEquals(container.size(), pBeans.size());
Patient patient = pBeans.iterator().next();
Map props = patient.getPropertyMap();
System.out.println(props);
}
答
如果您使用的是Sun JDK 6 Update 14,则可能会发生这种情况。请参阅其他similar SO question here。在这种情况下可能的解决方法是使用Sun JDK 6更新16.
答
我的第一直觉是,在Eclipse中缓存类是与你的代码同步。然而,鉴于你已经尝试清洁/重建项目,它应该有固定的。因为你可以在第一/第二行放置一个断点,所以当你单步执行代码时会发生什么?代码是否与每个步骤一致?如果没有,它会显示eclipse与源代码有不同的类版本。如果它们是相同的,我会尝试下载一个新的eclipse副本(我认为你已经尝试重新启动你的eclipse),因为你可能发现了一个奇怪的bug(新版本可能修复了它或者清除了一些陈旧的数据)。我不能有任何更多的帮助。
+0
的代码并逐步和对齐。谢谢奥斯卡。 – tukushan 2009-10-02 03:26:53
升级到Sun JRE 6 Update 16的确有窍门。谢谢Vineet。 – tukushan 2009-10-02 03:28:46
不幸的是,我得到“投票太老,无法更改,除非答案被编辑”,并且无法赞成这一点。你可以编辑,然后我会吗? – tukushan 2009-10-02 03:30:33
+1,@tukushan你现在应该可以投票给它,如果你还没有 – 2009-10-02 07:55:48