天天看點

為什麼idea的斷點變黑了_IntelliJ IDEA Debug回退斷點

IntelliJ IDEA Debug回退斷點

在調試的時候,想要重新走一下流程而不用再次發起一個請求?

1、首先認識下這個方法調用棧,如圖8.1,首先請求進入DemoController的insertDemo方法,然後調用insert方法,其它的invoke我們且先不管,最上面的方法是目前斷點所在的方法。

為什麼idea的斷點變黑了_IntelliJ IDEA Debug回退斷點

[圖8.1]

2、斷點回退

所謂的斷點回退,其實就是回退到上一個方法調用的開始處,在IDEA裡測試無法一行一行地回退或回到到上一個斷點處,而是回到上一個方法。

回退的方式有兩種,一種是Drop Frame按鈕(圖8.2),按調用的方法逐漸回退,包括三方類庫的其它方法(取消Show All Frames按鈕會顯示三方類庫的方法,如圖8.3)。

第二種方式,在調用棧方法上選擇要回退的方法,右鍵選擇Drop Frame(圖8.4),回退到該方法的上一個方法調用處,此時再按F9(Resume Program),可以看到程式進入到該方法的斷點處了。

但有一點需要注意,斷點回退隻能重新走一下流程,之前的某些參數/資料的狀态已經改變了的是無法回退到之前的狀态的,如對象、集合、更新了資料庫資料等等。

為什麼idea的斷點變黑了_IntelliJ IDEA Debug回退斷點

圖[8.2]

為什麼idea的斷點變黑了_IntelliJ IDEA Debug回退斷點

圖[8.3]

為什麼idea的斷點變黑了_IntelliJ IDEA Debug回退斷點

圖[8.4]