zoukankan      html  css  js  c++  java
  • 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"
          }
      ]
    }
    

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

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

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

  • 相关阅读:
    【BZOJ2288】生日礼物 [贪心]
    Tinyhttpd阅读笔记
    数据结构-图-经典算法(三)
    数据结构-图-经典算法(二)
    数据结构-图-经典算法(一)
    TCP协议的滑动窗口协议以及流量控制
    2016腾讯实习电话面试总结---2016-03-10
    B树,B+树,B*树
    平衡二叉树(AVL树)
    二叉搜索树(二叉查找树,二叉排序树)
  • 原文地址:https://www.cnblogs.com/veeupup/p/12714241.html
Copyright © 2011-2022 走看看