測試分布式項目時,經常要一個項目啟動2次,不用将一個項目打開多次啟動,配置一下即可
1.點擊Edit Configurations
	
2.勾選Allow parallel run
	
3.依次點擊如下2個按鈕
	
有如下代碼,隻想讓它在i == 10的情況下停下來
	@Test
public void condition() {
    for (int i = 0; i < 30; i  ) {
        System.out.println(i);
    }
}
1.鼠标左鍵在行數上加上斷點
2.在斷點上右鍵加上條件
3.點擊Done按鈕
	
此時斷點上會有問号,表示這是一個條件斷點,右鍵點擊即可查看條件
多線程調試當有多個線程時,我們如何控制線程的執行順序呢?
	System.out.println("我是線程1-1");
System.out.println("我是線程2-1");
System.out.println("我是線程1-2");
System.out.println("我是線程2-2");
例如讓線程1和2依次執行如下代碼
	System.out.println("我是線程1-1");
System.out.println("我是線程2-1");
System.out.println("我是線程1-2");
System.out.println("我是線程2-2");
普通模式debug模式下是做不到的,因為我們沒辦法控制線程的執行順序。需要做如下設置
1.右鍵點擊斷點,選中Thread(Make Default表示把當前選中的Thread設置為默認值)
	
設置後的斷點如下,3個斷點都是Thread模式
	
執行到某個語句想切換線程的時候選中下一步要執行的線程即可
	
代碼如下
	public class User {
	private String username;
	private Integer age;
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public Integer getAge() {
		return age;
	}
	public void setAge(Integer age) {
		this.age = age;
	}
}
@Test
public void changeValue() {
	User user = new User();
	user.setUsername("aa");
	System.out.println(user.getUsername()   " "   user.getAge());
}
在輸出語句上加上斷點
	
在斷點處執行了
user.setAge(10);
最後的輸出結果為
aa 10
我們也可以直接右鍵選中Set Value修改username屬性等
	
	
當斷點執行到method2()時,想回退到method1時,點擊如下按鈕即可
	
需要注意的是,斷點回退隻能重新走一下流程,某些改變了的數據是無法回退到之前的狀态,如對象、集合等等
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!
 
             
             
             
            