当前位置:编程学习 > JAVA >>

关于JAVA调试的一个问题

对于JAVA调试而言,实际已经很灵活了!
breakpoint我想大家已经很了解了,它自带的设置:是否启用该断点;循环次数;条件断点等。
这我有个问题就是关于 挂起线程 和 挂起虚拟机的问题。
当进入断点时,如果是 挂起线程,那么只是把当前线程挂起;而挂起虚拟机 是将所有线程挂起。
这第一个理解是否正确?
再次基础上一个问题,如果你要调试的断点是在线程池里面的线程,就是说当每一个线程池池里的线程执行到断点的地方,这个线程就会被挂起、
这第二个理解是否正确?
在前两个理解的正确基础上,问题是能否设置断点绑定线程池里面的某一个线程?
按照理论,是可以通过线程名称 添加 条件断点 进行实现,除了这个方式,是否还有别的思路?

最后附上场景,就是在进行远程调试的时候,能否在线程池线程打上断点,只让某个线程挂起,而不让其它线程池里的线程挂起。希望大家给点好的思路!多谢!
--------------------编程问答-------------------- 如果你是用Eclipse来调试的话,默认是挂起线程而不是挂起整个虚拟机。

但是应该没法指定挂起某个线程,因为断点都是设在代码上的,哪个线程执行到此就挂哪个。


变通的做法是可以在代码中故意加判定,类似于:
if ("needhang".equals(this.getName())) {
      int i = 0; // 然后在这里设置断点
} --------------------编程问答-------------------- --------------------编程问答--------------------
引用 1 楼 ldh911 的回复:
如果你是用Eclipse来调试的话,默认是挂起线程而不是挂起整个虚拟机。

但是应该没法指定挂起某个线程,因为断点都是设在代码上的,哪个线程执行到此就挂哪个。


变通的做法是可以在代码中故意加判定,类似于:
if ("needhang".equals(this.getName())) {
      int i = 0; // 然后在这里设置断点
}

我记得eclipse本有就有添加条件断点的功能啊,不用去在代码中添加吧 --------------------编程问答--------------------
引用 3 楼 zxcliuwei 的回复:
我记得eclipse本有就有添加条件断点的功能啊,不用去在代码中添加吧


惭愧。。。 Out了啊~~~ --------------------编程问答-------------------- 除 --------------------编程问答-------------------- debug运行里不就是有个设置点运行么
补充:Java ,  Eclipse
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,