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服务器
(1)点击右下角><符号;
(2)输入your name@your IP 然后回车键;其中your name表示你linux服务器的用户名,your IP表示你linux服务器的IP地址;
(3)接着输入密码连接linux服务器,并且打开你自己的工程代码;
2、在.vscode文件夹下创建tasks.json文件
上图表示我项目的文件结构,以及要创建的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命令
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进行调试