zoukankan      html  css  js  c++  java
  • 解决eclipse偶尔无视breakpoint的行为

    一般是如果你使用了T[]这样的参数列表,也就是generic array作为参数,你就算给函数打了断点,有时也会被eclipse无视

    比如如下代码,你在调试main的时候,eclipse就会把doPartition(T[],int,int)上的断点无视了,也就是说,如果你在main中按F6(step over),是不会进入doPartition(T[],int,int),除非你按F5(step into)强行进入下一层

    但是如果你把doPartition(T[],int,int)的断点不要打在函数头上,在函数体的第一句打上断点,就可以解决这个问题(也就是说把断点打在int i = 0那一行)

    无解,遇到这种情况只能把函数体内的每一个句子都打上断点,否则没法调试,上面说的只给第一句打上断点确实能够强迫eclipse进入函数调试,但是函数中如果有子循环,就不会单步了,子循环会一下子执行完毕,所以,感觉这个是eclipse的一个bug,目前惟一的解决方案就是给函数中的每个句子都打上断点,用鼠标双击代码窗口的左侧就可以勾选/取消断点。

    package test;
    
    import algorithms.Xxx;
    
    public class TestPartition {
        public static void main(String[] args) {   // 断点打在这一行
            int pivot = 0;
            String[] ss = new String[]{"a","b"};
            pivot++;
            pivot++;
            Xxx.doPartition(ss, 1, 2); 
            pivot++;
            pivot++;
            Xxx.doPartition(1, 2);
            pivot++;
            pivot++;
        }
    
    }
    package algorithms;
    
    public class Xxx {
        
        public static <T extends Comparable<T>> int doPartition(T[] arr, int m, int n) {  // 断点打在这一行 
            int i = 0;
            ++i;
            ++i;
            ++i;
            return i;
        }
        
        public static <T extends Comparable<T>> int doPartition(int m, int n) {  // 断点打在这一行
            int i = 0;
            ++i;
            ++i;
            ++i;
            return i;
        }
        
    }
  • 相关阅读:
    mysql practice
    image update to ubuntu18.04
    C++11 new feature
    bazel remote executor--- buildfarm( in docker)
    python3学习笔记13(数据结构)
    python3学习笔记12(变量作用域)
    python3学习笔记11(函数)
    jmeter 01 之beanshell preprocessor
    python3学习笔记10(迭代器和生成器)
    python3学习笔记十(循环语句)
  • 原文地址:https://www.cnblogs.com/qrlozte/p/3616649.html
Copyright © 2011-2022 走看看