歡迎光臨
每天分享高質量文章

使用 VS Code 進行 C# 代碼除錯的技巧

來自:ken的雜談

鏈接:http://www.cnblogs.com/ken-io/p/dotnet-core-qucikstart-debug-vscode-skill.html

一、前言

  • 為什麼要除錯代碼?
    通過除錯可以讓我們瞭解代碼運行過程中的代碼執行信息,比如變數的值等等。
    通常除錯代碼是為了方便我們發現代碼中的bug。ken.io覺得熟練代碼除錯技巧是成為合格程式員的基本要求。

  • 本篇開發環境
    1、操作系統:Windows 10 X64
    2、SDK:.NET Core 2.0 Preview
    3、IDE:VS Code 1.14

二、除錯技巧

  • 設置斷點

    在代碼編輯區域,點擊左側代碼行行號的左邊,即可在該行設置斷點

 

 

  • 啟動除錯

    使用選單:除錯->啟動除錯,或者使用快捷鍵F5啟動除錯

 

啟動除錯後,程式啟動,並會停留在第一個斷點這一行。且這行的代碼並未執行。

VS Code會自動喚出Debug工作區,本文將逐步介紹常用功能。

 

  • Debug工作區介紹

 

1、頂部Debug工具欄

按鈕&快捷鍵 說明(ken.io的翻譯)
綠色向右箭頭(F5) 繼續執行程式,如果遇到斷點則會停留到該斷點
藍色向右箭頭(F10) 單步跳過:執行一條陳述句,但是遇到方法呼叫時不進入,直到方法執行完成後直接繼續。
藍色向下箭頭(F11) 單步除錯:執行一條陳述句,遇到方法呼叫時會進入方法進行除錯
藍色向上箭頭(Shift+F11) 單步跳出:執行當前當前方法併到下一步驟,如果當前方法有斷點則會到下一個斷點
綠色環形箭頭(Ctrl+Shift+F5) 重新啟動除錯
紅色方塊(Shift+F5) 停止除錯

 

2、變數區域

 

管理當前方法已經宣告的變數信息

3、監視

 

可以添加要監視的運算式,比如i*2+5

 

如果i的值發生變化,將會實時計算結果

 

4、呼叫堆棧

 

顯示當前除錯的堆棧信息

說明(ken.io的翻譯)
heelodotnet.dll 呼叫的動態鏈接庫
hellodotnet 命名空間
Program.Main(string[] args) 呼叫的類&方法
Line 當前呼叫方法的行號

 

如果有多個呼叫的鏈接庫可以滑鼠單擊切換。查看變數等信息

 

5、斷點

 

管理斷點

 

  • 除錯過程中修改變數

 

選中要修改的標量,滑鼠右鍵->設置值(快捷鍵F2也可以)

設置值:

 

回車鍵儲存,然後F10進行單步跳過

 

本來i=0,randomNum=28,如果繼續執行result=false,將無法執行if陳述句塊。


修改後randomNum=0,執行後result=true,讓本來會被跳過的if陳述句塊可以被除錯。

三、VS Code除錯 .NET Core快捷鍵總結

快捷鍵 說明(ken.io的翻譯)
快捷鍵:F5 繼續執行程式,如果遇到斷點則會停留到該斷點
快捷鍵:F10 單步跳過:執行一條陳述句,但是遇到方法呼叫時不進入,直到方法執行完成後直接繼續。
快捷鍵:F11 單步除錯:執行一條陳述句,遇到方法呼叫時會進入方法進行除錯
快捷鍵:Shift+F11 單步跳出:執行當前當前方法併到下一步驟,如果當前方法有斷點則會到下一個斷點
快捷鍵:Ctrl+Shift+F5 重新啟動除錯
快捷鍵:Shift+F5 停止除錯
快捷鍵:F9 切換斷點:跳到下一個斷點
快捷鍵:Shift+F9 列斷點:在當前光標的下一行增加一個斷點

已同步到看一看
赞(0)

分享創造快樂