调试时,我正面临此eclipse错误:
org.eclipse.jdi.TimeOutException: Timeout occurred while waiting for packet 220 occurred creating step request.我在googled上搜索了一些,并且在堆栈溢出时也检查了它,但是没有找到任何解决方案。我正在使用Mac OSx并使用Eclipse,但在Windows7上使用EclipseMars时也会出现同样的错误。我使用的是Java 1.8.0_25,64位服务器VM (构建25.25-b02,混合模式)
发布于 2016-03-11 17:41:54
在调试多线程程序代码时,我也遇到了相同的eclipse错误。减少了断点的数量,使我可以在没有任何错误的情况下调试代码。我认为在eclipse (w.r.t堆栈内存)中放置调试/监视点是有一定限制的。
增加Java堆栈大小可能是另一种解决方案。信息可以找到这里。
发布于 2015-12-25 20:24:52
看来这个问题已经在Google代码论坛上提过了。
出现此问题似乎是因为刻度生成器线程对调试器没有很好的作用。
这表明,当您有两个线程(一个生产者线程和一个使用者线程)并且尝试挂起使用者线程时,调试器就会出现问题。
解决办法:
如果您放置一个断点来暂停勾选线程,那么您可以很好地通过这两个测试线程。
这建议您应该在生产者线程(而不是使用者线程)中设置一个断点。实际上,当在使用者线程上放置断点时,超时发生了,并且在两个线程上放置一个断点会导致IllegalStateException。
我希望这能帮到你!
这样做的目的是阻止生产者线程,这迫使使用者线程等待(假设它在等待数据时被阻塞,而不是轮询)。然后,您可以继续生产者线程,该线程恢复“滴答”的使用者线程。生产者线程回到等待状态。
显然,正如找到解决办法的人所建议的那样,这些循环中的两个周期代表了一个“滴答”:
当它们都被阻塞等待滴答时,您可以释放滴答线程,直到其中一个测试线程被释放,然后让滴答线程再次被阻塞,直到需要下一个滴答。似乎需要两个周期的蜱线前进一个滴答。
https://stackoverflow.com/questions/34465693
复制相似问题