[vscode] launch:program xxx does not exist

測試環境deepin和windowslinux


問題的另類描述git

  • linux下vs code配置c語言環境
  • launch:program "xxxx" does not exist
  • tasks.json和launch.json的關係
  • 終端將被任務重用,按任意鍵關閉。
  • [1] + Done "/usr/bin/gdb" --interpreter=mi --tty=${DbgTerm} 0<"/tmp/Microsoft-MIEngine-In-9liq8sx2.h8m" 1>"/tmp/Microsoft-MIEngine-Out-rs8nztsh.yr1"

對於新手來講,處理這類內容(兩個json和那一堆參數)真的好難,把個人填坑記錄下來,以供後人瞻仰。github

配置vs code常見問題

Q1:tasks.json 和 launch.json的關係

在當前文件是C++的狀況下,tasks能夠被用來作編譯,而launch用來執行編譯好的文件shell


1.png

建立一個tasks.json文件告訴VS代碼如何構建(編譯)程序。

2.png

翻譯:建立一個launch.json文件,以配置VS Code以在按F5調試程序時在WSL上啓動GDB 。

Q2:launch:program "xxxx" does not exist

我發生這個錯誤的緣由是由於tasks.json的"label"參數值和launch.json的"preLaunchTask"參數值不一致json

翻譯:解決方法就是 讓二者一致。我把他兩的值都設爲"build c program"windows

Q3:終端將被任務重用,按任意鍵關閉。

> Executing task: gcc -g -o main /home/yjc/Desktop/c/test/main.c <


終端將被任務重用,按任意鍵關閉。

正常現象測試

Build the programui

3.png

Q4:[1] + Done "/usr/bin/gdb" --interpreter=mi --tty=${DbgTerm} 0<"/tmp/Microsoft-MIEngine-In-9liq8sx2.h8m" 1>"/tmp/Microsoft-MIEngine-Out-rs8nztsh.yr1"

參考連接[Linux] Debug launch command shows up in terminal windowspa

大體意思是,正常現象,沒有辦法隱藏翻譯


附上個人tasks.json和launch.json

tasks.json

{
  "version": "2.0.0",
  "tasks": [{
    "label": "build c program",
    "type": "shell",
    "command": "gcc",
    "args": [
      "-g",
      "-o",
      "${fileBasenameNoExtension}",
      "${file}"
    ]
  }]
}

launch.json

{
    "version": "0.2.0",
    "configurations": [{
        "name": "(gdb) Launch",
        "type": "cppdbg",
        "request": "launch",
        "program": "${fileDirname}/${fileBasenameNoExtension}",
        "cwd": "${workspaceFolder}",
        "preLaunchTask": "build c program",
    }]
}

對標準內容作了不少刪減,初學用不到怎麼多內容

官方文檔解讀

這就很考驗人的英語水平了。

官網文檔地址Using C++ and WSL in VS Code

WSL是 Windows Subsystem for Linux 的縮寫,由於window10中已經能夠集成linux,只須要在microsoft store中搜索下載安裝便可

相關文章
相關標籤/搜索