Mac下C/C++在vscode debug 配置(踩坑)

使用 Mac,開始寫算法題,在 mac 上找不到什麼比較好的 debug 工具, lldb 雖然可以直接 debug,但是還是沒有 vscode 香。

本來開始按照官方教程 來做,但是使用無法從外界讀取到輸入,如果在程序裏指定好值可以 debug,但是無法從控制檯或者是文件輸入讀取到值。

這是 Mac Catalina 下好像纔會出現的問題,在其他平臺好像沒出現。

搜了很多資料,最後在這個 issue 下發現了遇到相同問題的人,最終解決,問題的關鍵就在於使用 CodeLLDB 插件代替 vscode 自帶的 lldb插件。

這裏只記錄解決問題的關鍵, c/c++ 的debug看官方教程。

  1. 下載 CodeLLDB 插件並且啓用

  2. 設定好 launch.jsontask.json 來進行構建和debug啓動。

配置如下,可以直接用:

tasks.json

{
  "version": "2.0.0",
  "tasks": [
      {
          "label": "Build with Clang",//這個任務的名字在launch.json最後一項配置
          "type": "shell",
          "command": "clang++",
          "args": [
              "-std=c++17",
              "-stdlib=libc++",
              "${fileBasenameNoExtension}.cpp",
              "-o",
              "a.out",
              "--debug"
          ],
          "group": {
              "kind": "build",
              "isDefault": true
          }
      }
  ]
}

launch.json

{
  "version": "0.2.0",
  "configurations": [
      {
          "type": "lldb",
          "request": "launch",
          "name": "Debug",
          "program": "${workspaceFolder}/a.out",
          "args": [],
          "cwd": "${workspaceFolder}",
          "preLaunchTask": "Build with Clang"
      }
  ]
}

對於編譯後的名稱這些東西自己都可以改。

然後我們來看看從控制檯讀取輸入:

改成文件輸入也是沒有問題的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章