vscode调试不出现C CPP,lauch json不自动填充cppgdb选项的替代方案

582 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第1天,点击查看活动详情

[toc]

简介

以前用vscode好好的,按F5直接调试,自动生成c/c++的.vscode\lauch.json文件,调试很方便,后来换了台电脑突然不行了,不能自动生成包含cppgdb的lauch.json文件,百思不得其解,试了重装vscode,重装拓展,换了linux的发新版,都不行,网络上这方面遇到的人也不多,猜测是vscode本身或拓展更新了,或者就是奇奇怪怪的bug吧。。。

  • 如果你不嫌麻烦,甚至可以复制下面的lauch.json到你的项目中修改,当然,按下面的方法安装拓展对以后每次的调试更加方便
    {
      "version": "0.2.0",
      "configurations": [
        {
          "name": "C/C++ Runner: Debug Session",
          "type": "cppdbg",
          "request": "launch",
          "args": [],
          "stopAtEntry": false,
          "externalConsole": false,
          "cwd": "/home/kira/rpmbuild/BUILD/file-5.11/src",
          "program": "/home/kira/rpmbuild/BUILD/file-5.11/src/.libs/file",
          "MIMode": "gdb",
          "miDebuggerPath": "gdb",
          "setupCommands": [
            {
              "description": "Enable pretty-printing for gdb",
              "text": "-enable-pretty-printing",
              "ignoreFailures": true
            }
          ]
        }
      ]
    }
    

遇到lauch.json不会自动生成可能只是偶发的bug,如果正常按F5就可以使用,该方法对你来说就是P,在暂未有更好方法时,使用这个方法又不是不能用(滑稽)

安装拓展

  • 在vscode中安装c/c++ Runner拓展 XEnoYq.png

操作

  • 安装完成后随意点开一个c或者h文件,即可在vscode的底部栏看到下面的的一条状态栏 XEnJW6.png

  • debug和release不用管,这里是编译的选项,如果你使用vscode自己的编译可以使用,会生成task.json文件,如果使用自己的makefile就不需要使用这里

  • 齿轮是编译,调用vscode的task.json

  • 三角运行就是调试,调用vscode的lauch.json,点击这里便会自动生成lauch.json里的cpp调试选项

lauch.json解释

    {
      "version": "0.2.0",
      "configurations": [
        # 从这里开始需要自动生成或复制过去,记得包含花括号
        {
          "name": "C/C++ Runner: Debug Session",        #  这个调试项目的名字,可以在vscode调试选项卡看到这个名字
          "type": "cppdbg",                             # 类型,不需要修改
          "request": "launch",                          # 启动,不需要修改
          "args": [],                                   # 启动调试程序时,需要给程序附加的参数,如ls -l,-l即为附加参数
          "stopAtEntry": false,                         # 启动后停在main入口
          "externalConsole": false,                     # 是否新开一个debug的ssh窗口
          "cwd": "/home/kira/rpmbuild/BUILD/file-5.11/src", # 调试的项目目录
          "program": "/home/kira/rpmbuild/BUILD/file-5.11/src/.libs/file",  # 这个很重要,需要调试的程序,记得gcc -g
          
          # 从这里开始,后续的都不需要修改了
          "MIMode": "gdb",
          "miDebuggerPath": "gdb",
          "setupCommands": [
            {
              "description": "Enable pretty-printing for gdb",
              "text": "-enable-pretty-printing",
              "ignoreFailures": true
            }
          ]
        }
      ]
    }

完结,撒花