解決VSCode中Debug和執行路徑不一致的

木头左發表於2024-05-19

哈嘍,大家好,我是木頭左!

背景介紹

在Visual Studio Code(簡稱VSCode)中進行開發時,經常需要使用到除錯(Debug)功能。然而,有時候會發現,當嘗試除錯程式時,程式的執行路徑與預期不符。這通常會導致程式無法正確讀取檔案或訪問資源,從而影響除錯過程。為了解決這個問題,可以在launch.json檔案中配置CWD引數,以確保Debug和執行路徑一致。

配置launch.json檔案

launch.json檔案是VSCode中用於配置除錯會話的檔案。透過修改這個檔案,可以自定義偵錯程式的行為,以滿足的需求。要配置CWD引數,需要先找到launch.json檔案。通常情況下,這個檔案位於專案根目錄的.vscode資料夾中。如果沒有這個檔案,可以手動建立一個。
接下來,需要編輯launch.json檔案,新增或修改configurations部分。以下是一個示例配置:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Current File",
            "type": "python",
            "request": "launch",
            "cwd": "${fileDirname}",
            "program": "${file}",
            "console": "integratedTerminal",
            "justMyCode": true
        }
    ]
}

在這個示例中,為Python語言建立了一個名為“Python: Current File”的除錯配置。其中,"cwd"引數設定為"${fileDirname}",表示當前工作目錄(CWD)為當前開啟檔案所在的目錄。這樣,無論是除錯還是執行程式,都會使用相同的路徑。

引數解釋

  • "name":除錯配置的名稱,可以自定義。
  • "type":偵錯程式型別,這裡使用的是Python。
  • "request":除錯請求型別,這裡選擇的是“launch”,表示啟動一個新的除錯會話。
  • "cwd":當前工作目錄(CWD),這裡設定為"${fileDirname}",表示當前開啟檔案所在的目錄。
  • "program":要執行的程式,這裡設定為"${file}",表示當前開啟的檔案。
  • "console":指定除錯輸出的控制檯型別,這裡選擇的是“integratedTerminal”,表示使用VSCode內建的終端。
  • "justMyCode":是否僅跳過不在原始碼中的程式碼,這裡設定為true

總結

透過配置launch.json檔案中的CWD引數,可以確保在VSCode中進行除錯時,程式的執行路徑與預期一致。這樣,就可以順利地進行除錯,避免因路徑問題導致的各種困擾。希望這篇文章能幫助到你,讓你在VSCode中使用除錯功能更加順暢。

我是木頭左,感謝各位童鞋的點贊、收藏,我們下期更精彩!

相關文章