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);

     </span><span style="color: #0000ff;">new</span> Thread("Thread1-Name"<span style="color: #000000;">) {
         </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> run() {
             System.out.println(</span>"Thread1-Name Start"<span style="color: #000000;">);
             </span><span style="color: #0000ff;">try</span><span style="color: #000000;"> {
                 Thread.sleep(</span>5000<span style="color: #000000;">);
             } </span><span style="color: #0000ff;">catch</span><span style="color: #000000;"> (InterruptedException e) {
                 e.printStackTrace();
             }
             map.put(</span>7, 77);<span style="color: #008000;">//</span><span style="color: #008000;">斷點位置 1</span>
    

System.out.println(map);
}

    }.start();
    </span><span style="color: #0000ff;">new</span> Thread("Thread2-Name"<span style="color: #000000;">) {

        </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> run() {
            </span><span style="color: #0000ff;">try</span><span style="color: #000000;"> {
                System.out.println(</span>"Thread2-Name Start"<span style="color: #000000;">);
                Thread.sleep(</span>5000<span style="color: #000000;">);
            } </span><span style="color: #0000ff;">catch</span><span style="color: #000000;"> (InterruptedException e) {
                e.printStackTrace();
            }
            map.put(</span>3, 33);<span style="color: #008000;">//</span><span style="color: #008000;"> 斷點位置2</span>

System.out.println(map);
}

    }.start();


    </span><span style="color: #008000;">//</span><span style="color: #008000;"> 斷點位置 3</span>
    System.out.println("Thread-Main-Name Start"<span style="color: #000000;">);
    System.out.println(</span>"Thread-Main-Name Start"<span style="color: #000000;">);
    System.out.println(</span>"Thread-Main-Name Start"<span style="color: #000000;">);


    Thread.sleep(</span>500000<span style="color: #000000;">);

}

}

復制代碼

 

3:啟動debug,我們可以在Threads Tab選項雙擊需要進行單步調試的線程

然后選擇Frames Tab選項中調試的線程進行快捷鍵調試即可。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM