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"
      }
  ]
}

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

然后我們來看看從控制台讀取輸入:

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM