解决eclipse偶尔无视breakpoint的行为
2024-08-23 01:52:45
一般是如果你使用了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;
} }
最新文章
- DATE 日期格式
- C#异步调用的方法
- MapReduce的一点理解
- Test Spring el with ExpressionParser
- js渐变显示渐变消失
- What is SaaS?
- cocoa pods 安装 转载
- Java 泛型 通配符类型
- PLSQL程序流程
- Two analytical 2d line intersection in OpenCASCADE
- cglib应用
- 使用gevent提高IO繁忙型wsgi服务的并发量(转)
- NYOJ 炫舞家st
- python3中替换python2中cmp函数的新函数分析(lt、le、eq、ne、ge、gt)
- recyclerview 主活动里监听点击事件
- 汇编实验2(又是作业emm)
- 关于 Kubernetes 中的 Volume 与 GlusterFS 分布式存储
- [福大软工] Z班 第2次成绩排行榜
- 马凯军201771010116《面向对象程序设计(java)》第六周学习总结
- Scala进阶之路-Scala中的枚举用法案例展示