標籤:
.NET 技術交流群:337901356 歡迎您的加入!
為什麼要學習調試?
調試(Debug)是作為一個程式員必須要學會的東西,學會調試可以極大的提高開發效率,排錯時間,很多人不喜歡調試,但我認為這是一個很不可取的選擇,調試的時候能讓我們看到程式的執行順序、步驟以及過程等,調試的時候可以讓我們監視代碼中各個變數的情況,調試讓我們可以讓我們快速的找出錯誤的根源。可見調試是至關重要的。
要學習好怎麼調試,那麼必須去瞭解VS 這個IDE中的各種調試技巧,下面我就講講我所經常在偵錯工具中所用到的技巧。
調試技巧介紹
1、監看式視窗(Ctrl+D,Ctrl+W 快速鍵開啟)
我們在偵錯工具的過程中,可以通過此視窗動態查看各個變數的值,以及各個函數的調用的返回結果。
在監看式視窗中,我們還可以手動更改某個變數的值,這個有時候很有用,特別是有時候程式執行到指定語句的時候,發現某個值是錯誤的,但是我們又想用一個正確值測試代碼時,
此時可以通過監看式視窗直接更改變數的值,而不需要重新啟動調試。
快速監視:選中某個變數後者運算式,然後通過按下快速鍵Ctrl+D,Ctrl+Q 開啟。
備忘:只能在調試情況下才能開啟此視窗。
2、呼叫堆疊(Ctrl+D,Ctrl+C)
通過該視窗,我們可以看到函數的一級一級的調用過程,我們就可以知道,該方法是來自於上面的哪一個步驟發起的調用。、
可以通過點擊調試->視窗->呼叫堆疊 來開啟呼叫堆疊視窗。
如:
備忘:只能在調試情況下在可以開啟此視窗。
3、拖動調試游標的技巧。
Visual Studio 在調試的情況下可以拖動左側的黃色箭頭進行上下拖動,那麼這個有什麼作用呢,有時候我們可能想實用F11跟到某個方法裡面進行調用過程的查看,結果一個不小心發現手誤按下了F10,此時代碼執行到了方法調用的下一句,那麼我們此時就可以點擊左側的黃色箭頭,並按住滑鼠左鍵,往上一拖,這個時候,就又可以執行剛才的方法調用的那句代碼了,如果往下拖,那麼可以跳過一些語句代碼的執行。
4、編輯並繼續
通過啟用編輯並繼續,可以在調試代碼的過程中直接更改部分代碼,然後立刻執行最新的代碼,而不需要重新啟動偵錯工具。
但是這種方式在WEB應用程式中有個不好的地方就是,設定了啟動編輯並繼續之後,如果此時結束調試,那麼網站或WEB應用程式將自動從IISExpress中退出,也就是此時再重新整理網頁,將會顯示無法串連到網站,如果要在繼續瀏覽其他頁面,那麼此時就要重新啟動網站了。
不過,在Visual Studio 2015中,預設就是開啟了編輯並繼續功能,並且已經把編輯並繼續的複選框給去掉了。
5、設定斷點(F9 快速鍵開啟)
斷點的好處在於,如果方法或者程式中包含了大量的代碼,那麼我們就可以設定到一個我們想讓程式停下來的地方,通過F5可以快速的執行到下一個斷點處。
當我們啟動調試後,如果程式中有大量的斷點,而我們只是想調試某一部分代碼,那麼或許有些人會一個一個斷點去取消或者禁用,感覺夠累,
其實是可以通過 點擊 調試->禁用所有斷點 或者調試->刪除所有斷點,如果你決定不需重新設定那些斷點了,那麼可以刪除所有斷點,否則建議先禁用所有斷點,然後在你需要啟用斷點調試的地方再把那些斷點啟用。
有一個比較特殊的斷點設定就是:條件斷點
條件斷點就是可以在設定一個運算式,只有運算式的值為true或者更改的時候,語句才會被命中。
看個例子。
6、F5按鍵的使用
Visual Studio 中,F5可以用來啟動調試、也可以快速的將程式執行從一個斷點執行到下一個斷點處,往往有些新手會一句一句的執行進行調試,如果程式碼沒幾句還好,如果程式碼量多,或者碰到一個大迴圈的化,那要手按到何時才能執行到指定的想調試的代碼處呢。
7、F10 逐過程
F10表示逐過程執行代碼,什麼是逐過程執行呢,通俗點說就是當執行到方法的語句時,調試不會進入到方法內部,而是一步將方法執行完畢。
8、F11 逐語句
F11是逐語句執行代碼,那麼如果碰到調用方法的語句時,那麼通過F11可以進入到方法內部的執行過程。
9、切換完成模式
有時候你是不是發現手動打了一部分英文之後,那個智能提示框總是不能自動選中我們想要選中的,而是變成下面那樣:
、
那麼,你可以輸入快速鍵:Ctrl+Alt+空格鍵來切換到到選中模式。
總的來說主要的調試技巧就是這些,這裡講解的都是日常開發調試中個比較常用的,希望給新手們有所協助。
Visual Studio 2015中的常用調試技巧分享