在剛學程式語言的時候,通常都會用秀出文字的方式來除錯。這種方式在剛入門的時候可以用,但程式寫久了,架構變得複雜時,可能在判斷的資料就不再是string,而是物件。此時在寫程式經常遇到瓶頸,為此,強烈建議在學習的開始,就養成習慣使用中斷點的方式來處理。
使用中斷點有二個好處
1.如果有if、switch、return這種類型的語句時,可能與設計時的構想,與實際執行階段不同,造成程式有Bug產生。
2.可以直接查看每一行的程式以及資料的變化,經過幾次錯誤後,可以更加瞭解程式的邏輯。
在下中斷點以前,建議Visual Studio的行數要開啟,可以更清楚程式現在執行的位置。
開啟方式為選項>搜尋行號,或是選項>文字編輯器>所有語言>一般>行號
設定為打勾就行了。
真的還是不懂就看這篇吧
一、建立WinForm的專案
二、從工具箱中叫出二個Button(從工具箱拖曳到介面之中即可)
三、滑鼠左鍵雙擊"按鈕1"(這邊是為了看得更清楚,所以有更改名稱,預設應該是Button1、Button2),此時會進入按鈕1的事件。
在裡面寫入
int x = 0;
string str = string.Empty;
switch (x)
{
case 0:
str = "數字0";
break;
case 1:
str = "數字1";
break;
}
MessageBox.Show(str);
四、加入中斷點
在圖中22行左側,紅色點點的那一整條灰色區間,都是可以下中斷點的區塊,只要中斷點跑出來,右方文字底色會跟著變色。
五、按下開始後,點擊按鈕1(Button1),此時會發現畫面跳回Visual Studio了,並且中斷點也變顏色了。
第22行的箭頭代表著,程式現在執行到第22行。如果要往下執行的話,就按F11或是下圖的逐步執行
現在我們試著往下執行看看,會發現箭頭跑到第23行的位置,變數x也被賦予初始值了。
滑鼠移到x的變數時,會出現提示,如果想要看得更完整,可以點選右鍵>加入監看式,從監看式可以看到
1.名稱:可以從這個地方看到變數的名稱。如果想試著去看此時其他變數的資料,也可以直接在這邊輸入名稱
(點選名稱二下,然後更改變數名稱)
2.值:就是變數內的值,如果是物件此時可以繼續往下細拆。
3.類型:目前變數的型別
看到這邊在往下執行一行,會發現str這個變數,從null變成""
這個不重要,再往下執行一行後,繼續往下看。
六、進入流程
有時候寫程式時,會需要有不同的判別,而使用中斷點的好處就是可以看程式在流程中怎麼運作的。
此時程式應該會進入到Case 0:之中,並在下一行程式碼將str賦值為"數字0",最後離開Switch,彈出對話方塊。
以上是中斷點的使用方式。應該有比較比較眼尖的朋友會有疑問說,那按鈕2呢?
你可以在中斷點結束後(結束方式:按一下上方的繼續,會將現階段該執行的程式直接跑完),去點看看按鈕2,會發現不會再進入中斷點,原因在於程式走的流程為按鈕2的事件,因此不會走到第22行被編譯器所攔截!所以下中斷點的時候要下對位置唷!
歡迎您的加入,讓這個社群更加美好!