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

对于编译后的名称这些东西自己都可以改。

然后我们来看看从控制台读取输入:

改成文件输入也是没有问题的。

posted @ 2020-04-16 17:21  南风sa  阅读(2062)  评论(3编辑  收藏  举报