【vscode】【c/cpp】cmake工程 remoteSSH远程调试代码
GDB linux终端调试程序太累啦,可视化随时监视堆栈不香吗。。。。
- 服务器安装gdb 命令:yum install gdb
- 调试工具: vscode 安装插件 remote-ssh ,c/c++
插件安装使用参考:https://blog.csdn.net/lenfranky/article/details/89972889
ps:其实还有一个远端写代码神器,直接搭建一个smba环境也不错
接下来:如果没有调试配置,按F5或者 运行->启动调试,会让你新建 launch.json文件
- 配置 launch.json 文件
{
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch", //配置名称,会在启动配置的下拉菜单中显示
"type": "cppdbg", //配置类型,只能为cppdbg
"request": "launch", //请求类型,可以为launch或attach
"program": "${workspaceFolder}/build/bin/可执行程序文件名", //将要调试的程序的路径
"args": [], //调试时传递给程序的命令行参数
"stopAtEntry": false, //设为true程序会暂停在入口处
"cwd": "${workspaceFolder}/build/bin", //调试程序时的工作目录
"environment": [], //环境变量
"externalConsole": false, //调试时是否显示控制台窗口
"MIMode": "gdb", //指定连接的调试器,可以为gdb或lldb
"miDebuggerPath": "/usr/bin/gdb", //gdb路径
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
,"preLaunchTask": "build" //调试开始前执行的任务,一般为编译过程,会调用tasks.json里面的任务,调试过程中没有代码改动的话可以注释掉
//,"preLaunchTask": "build" //调试过程中没有代码改动的话可以注释掉,像这样
}
]
}
- 配置 tasks.json
{
"version": "2.0.0",
"tasks": [
{
"label": "cmake",
"type": "shell",
"command": "cmake",
"args": ["../"],
"options": {
"cwd": "${workspaceFolder}/build"
}
},
{
"label": "make",
"type": "shell",
"command": "make",
"args": ["-j20"], //这里cmake -j20 表示 使用20核编译代码,可选项
"dependsOn": ["cmake"],
"options": {
"cwd": "${workspaceFolder}/build"
}
},
{
"label": "build",
"dependsOn": ["cmake","make"]
}
]
}
保存配置 启动调试,开启你的寻找BUG之旅把,年轻人