java - 在 Eclipse 中调试代码。内循环案例

标签 java eclipse debugging

在Eclipse中调试代码时,我遇到了以下问题。有一个 WHILE 循环,可能有大约 10,000 次迭代。因此,在这里使用 Step 并不是一个好主意。因此,我将断点放置在 WHILE 循环之后。但这个 WHILE 循环似乎进入了内部循环。我不知道如何找到导致此问题的正确迭代。有什么方法可以区分代码执行时间长和内部循环吗?我该怎么做才能快速找到代码中此类死锁的地方?

附注该代码在小型数据集上运行良好......

最佳答案

如果您正在寻找死锁,您可以在没有断点的情况下以调试方式运行程序,并等待它死锁,然后停止它。

如果您希望它在特定迭代上停止,您可以添加条件断点,但这可能会使执行速度变慢。

我所做的是将条件添加到代码中,例如

if (i == 10000 && condition)
    Thread.yield(); // add break point here.

或者如果你有一个返回错误值的方法,你可以这样做

boolean ok = method();
if (!ok)
   method(); // add a break point here so you can see why it fails.

关于java - 在 Eclipse 中调试代码。内循环案例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8963359/

相关文章:

eclipse - 在 Eclipse 中使用 SonarQube

c++ - 字符串、调试和段错误齐头并进

debugging - 你如何调试PDF文件?

java - Kafka Java 消费者仅适用于本地主机,无法用于远程服务器

Java - 当多个 double 都是小而长的小数时,它们加在一起等于无穷大

java - 如何将 SSL .cert 文件与 JAX-WS 结合使用?

c++ - Mac OS 上 CodeBlocks 中的调试器设置

java - 重写有异常编译器错误的方法

android - Eclipse 不会将项目识别为库 (ActionBarSherlock/ViewPagerIndicator)

java - eclipse 不工作 - 没有找到 java 虚拟机