vscode 调试linux下c++的cmake工程代码

vscode 调试linux下c++的cmake工程代码

注意:确保vscode通过ssh可以远程连接linux服务器,至于如何连接可以参考博文:https://blog.csdn.net/aerbeisishan2008/article/details/127619311?spm=1001.2014.3001.5502 另外,该工程由cmake构建,并且通过cmake生成makefile文件,然后执行make命令进行编译,最后通过vscode进行调试。

1、vscode ssh 连接linux服务器

vscode 调试linux下c++的cmake工程代码_第1张图片 

(1)点击右下角><符号;

(2)输入your name@your IP 然后回车键;其中your name表示你linux服务器的用户名,your IP表示你linux服务器的IP地址;

(3)接着输入密码连接linux服务器,并且打开你自己的工程代码;

2、在.vscode文件夹下创建tasks.json文件

vscode 调试linux下c++的cmake工程代码_第2张图片 

上图表示我项目的文件结构,以及要创建的tasks.json文件,文件中写入以下内容:

{

    "version": "2.0.0",

    "tasks": [

      {

        "label": "mkdir",

        "type": "shell",

        "command": "mkdir build -p"

      },

 

      {

        "label": "cmake",

        "type": "shell",

        "command": "cmake -DCMAKE_BUILD_TYPE=debug ..",

        "dependsOn": ["mkdir"],

        "options": {

          "cwd": "${workspaceFolder}/build"

        },

      },

 

      {

        "label": "make",

        "type": "shell",

        "command": "make -j8",

        "options": {

          "cwd": "${workspaceFolder}/build"

        },

      }

    ]

  }

保存以上内容,其中文件包含三个task:mkdir, cmake和make

(1)mkdir:在当前目录下创建build文件夹;

(2)cmake:cwd中的内容表示切换到build目录,                command中的内容表示执行cmake -DCMAKE_BUILD_TYPE=debug .. 在build目录生成makefile文件;

(3)make:命令make -j8 进行编译。

3、vscode创建task依次执行mkdir, cmake,make进行编译

点击“终端”—>“运行任务”,分别执行以下三个task命令

vscode 调试linux下c++的cmake工程代码_第3张图片 

4、在.vscode文件夹下创建launch.json文件

在.vscode文件夹下创建launch.json文件,并且输入以下内容,并保存。

{

    // 使用 IntelliSense 了解相关属性。

    // 悬停以查看现有属性的描述。

    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387

    "version": "0.2.0",

    "configurations": [

        {

            "name": "(gdb) Launch",

            "type": "cppdbg",

            "request": "launch",

            "program": "${workspaceFolder}/build/your name",

            "args": [],

            "stopAtEntry": false,

            "cwd": "${workspaceFolder}",

            "environment": [],

            "externalConsole": false,

            "MIMode": "gdb",

            "setupCommands": [

                {

                    "description": "Enable pretty-printing for gdb",

                    "text": "-enable-pretty-printing",

                    "ignoreFailures": true,

                }

            ]

        }

    ]

}

program中输入你自己的编好的执行文件,args默认为空,也可以输入你需要的参数。

5、调试F5

打断点,并且F5进行调试,F10、F11进行调试

vscode 调试linux下c++的cmake工程代码_第4张图片

 

你可能感兴趣的:(其他,linux,vscode,c++)