繁体   English   中英

在 eclipse 中调试 for 循环的舒适方式

[英]Comfortable way for debugging for-loops in eclipse

如何像在此代码中一样调试 eclipse 中的复杂 for 循环?

import java.util.Arrays;
import java.util.List;

public class ListTraining {

    public void countOccurence() {
        List<Integer> numbers = Arrays.asList(3, 4, 3, 5, 2, 3);
        Integer number = 3;     
        for (int i = numbers.indexOf(number), j = -1; i > j; j = i, i += numbers.subList(i + 1, numbers.size()).indexOf(number) + 1) {
            System.out.println("found number: " + number + " at position: " + i);           
        }       
    }

}

如果我使用“Step Over”,我就在指令块中。 如果我使用“Step Into”,我就在 indexOf 之类的方法中。 如何以舒适的方式调查循环 header 中的变量和调用?

是否可以像条件检查或变量赋值一样跳转到循环的单个指令中?

在 for 循环处暂停调试器。 突出显示一段代码。 右键单击它并 select “检查”选项以查看其值(例如,突出显示numbers.indexOf(number)以查看 function 的返回值是什么)。

使用调试视图的变量组件在此处输入图像描述

如果您的 for 运行良好,我建议使用 system.println(String the data incremented)。 查看每个循环中的数据。 控制台将显示循环的内容。

如果你的 for 在某个时候中断,我建议使用调试模式并在循环中间放置一个断点,代码的执行将在每次到达断点时停止,你可以查看 for 中的所有变量在 state 处循环。

将 for 循环的头部拆分为多行

for (int i = numbers.indexOf(number), j = -1; 
            i > j; 
            j = i, i += numbers.subList(i + 1, numbers.size()).indexOf(number) + 1) {
        System.out.println("found number: " + number + " at position: " + i);           
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM