Visual Studio Debug 教程 之 小技巧
本次教程將分享一些 Visual Studio 比較實用的 Debug 小技巧。
為了準確和統一,小標題都使用了英文。
1. Restart Debugger quickly
當你要重新啟動 Debugger 的時候,不必先 Stop,再 Start。
可以按下 Debug 工具欄中的 Restart 按鈕。
這樣可以節約很多時間。
2. Run to Cursor
在某代碼行右鍵選擇 Run to Cursor,將啟動 Debugger,同時會在當前行設置一個臨時斷點。
如果此代碼行前面有斷點,那麼程序將會在第一個斷點處停下來。
接下來可以不斷按下 F5, 執行到剛才設置 Run to Cursor 的那一行。
3. Run to Click
這是 VS 2017 新增的功能。
在 Debug 的過程中,把游標移動到代碼行的前面,會出現一個帶框的綠色箭頭。
按下此箭頭,可以讓程序快速執行到該代碼行。
此功能叫 Run to Click。
它的作用也是設置臨時斷點,好處是節省了按下 F9 和 F5 的時間。與 Run to Cursor 相比,使用更為便捷。
4. Pin Data Tips
Debug 的過程中,通過 Data Tips 查看某些變數的值,常規的做法是,把游標放在想要查看的變數上,等 Data Tips 出現。
如果想要頻繁查看變數值的話,這樣會比較麻煩。
其實,可以按下 Data Tips 窗口旁邊類似於釘子的按鈕,這樣就可以把 Data Tips 窗口 Pin 住。
即使重啟 Debugger,它依然是保持 Pin 的狀態。另外,可以同時 Pin 住多個變數的 Data Tips。
個人覺得,這個功能跟把變數放進 Watch 窗口查看,效果是一樣的。
5. Step into a property
此功能僅針對託管代碼。
默認情況下,Debug 不會跳進 properties(屬性)和 fields(欄位)。
但是 Step Into Specific 可以使它這麼做。
如上圖,在 Path 屬性上右鍵選擇 Step Into Specific,然後選擇合適的選項,進入 Path.set。
6. Change the execution flow
動圖。
當 Debugger 在某一行停下來的時候,可以用滑鼠移動左側的黃色箭頭,更改代碼執行流程。
黃色箭頭新移動到的位置代表下一條即將要執行的語句,可以往前移動,也可以往後移動。
用這個方法,可以在不 Restart Debugger 的情況下,重新運行代碼,或者用來跳過已知有 Bug 的代碼段。
注意:往前移動黃色箭頭,不會使程序返回到之前的狀態。往後移動黃色箭頭,中間跳過的代碼段也不會被執行到。
7. Edit and Continue
動圖。
VS 支持的大部分編程語言,都可以在 Debug 的過程中編輯代碼,而不必重新編譯運行。
只要編輯代碼,接著按下 F5,F10 或者 F11, 就能繼續 Debug 了。
8. Step into non-user code
默認情況下,Debug 過程中只會顯示用戶代碼,Framework 代碼、第三方庫和系統調用會被忽略。
假如想要在調試過程中查看 Framework 代碼、第三方庫和系統調用,可以使用 VS 的 Just My Code 功能。
在 Tools / Options / Debugging 菜單下 ,禁用 Just My Code (僅我的代碼) 即可 。
9. Debug issues hard to reproduce
當你很難復現一個問題或者達到某個狀態非常的耗時,可以試下條件斷點是否有幫助。
具體做法是在斷點的紅點處右鍵選擇「條件」或者把游標放在紅點上,等待「齒輪」按鈕出現並點擊。如上第一幅圖。
此時可在出現的設置窗口中設置條件斷點。如上第二幅圖。
條件斷點的含義是只有在條件滿足的情況下,此斷點才會被觸發。
本例中,只有在 data==5 的時候,斷點才會停下來。
10. View return values for functions
有的時候,函數的返回值在代碼中並沒有用變數明確保存下來。
這種情況下,可以通過 Auto 窗口或者 Immediate 窗口方便的查看函數的返回值。
注意:在 Auto 窗口查看函數的返回值,一定要在此函數被剛執行完的時候。
11. Inspect strings in a visualizer
代碼中出現字元串的時候,使用字元串可視化工具能夠非常方便的查看格式化後的字元串。
具體方法是: Debug 過程中,把游標懸停在想要查看的字元串旁邊,等待出現 Data Tips,然後再點擊查找符號旁邊的下三角,選擇查看 Plain text,XML,HTML, 還是 JSON 字元串。
使用字元串可視化工具,可以方便直觀的查看字元串是否存在格式錯誤。
相關主題:
教程 一: Visual Studio Debug 教程 之 入門
教程 二: Visual Studio Debug 教程 之 窗口
收藏別忘點贊哦~~
推薦閱讀:
※cnBeta 是怎麼形成現在這樣的評論文化的?
※2016 年美國科技界最火爆的 16 件大事
※你窮嗎?你想消除貧窮嗎?
※如何評價樂視移動智能信息技術(北京)、樂視控股(北京)被豪聲電子催欠賬款發布仲裁公告?