微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

IDEA多线程下多个线程切换断点运行调试的技巧

多线程调试设置可以参考:http://www.cnblogs.com/leodaxin/p/7710630.html

 

1 断点设置如图:

 

 

2 测试代码,然后进行debug

复制代码
package com.daxin;

import java.util.HashMap;

/**
 * Created by Daxin on 2017/10/22.
 */
public class HashMapInfiniteLoop {
    private static HashMap<Integer, Integer> map = new HashMap<Integer, Integer>(2, 0.75f);

    public static void main(String[] args) throws InterruptedException {
        map.put(5, 55);

        new Thread("Thread1-Name") {
            public void run() {
                System.out.println("Thread1-Name Start");
                try {
                    Thread.sleep(5000);
                } catch (InterruptedException e) {
                    e.printstacktrace();
                }
                map.put(7, 77);//断点位置 1
                System.out.println(map);
            }

        }.start();
        new Thread("Thread2-Name") {

            public void run() {
                try {
                    System.out.println("Thread2-Name Start");
                    Thread.sleep(5000);
                } catch (InterruptedException e) {
                    e.printstacktrace();
                }
                map.put(3, 33);// 断点位置2
                System.out.println(map);
            }

        }.start();


        // 断点位置 3
        System.out.println("Thread-Main-Name Start");
        System.out.println("Thread-Main-Name Start");
        System.out.println("Thread-Main-Name Start");


        Thread.sleep(500000);

    }
}
复制代码

 

3:启动debug,我们可以在Threads Tab选项双击需要进行单步调试的线程

然后选择Frames Tab选项中调试的线程进行快捷键调试即可。

 

 

原文地址:https://www.cnblogs.com/jpfss/p/10944716.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐