vscode远程断点调试cmake
时间: 2025-03-21 17:06:49 浏览: 41
### 配置 VSCode 中 CMake 的远程断点调试
要在 Visual Studio Code (VSCode) 中通过 CMake 实现远程断点调试,通常涉及以下几个方面:
#### 1. 安装必要的扩展
确保安装了以下两个扩展:
- **C/C++ Extension Pack**: 提供对 C++ 开发的支持。
- **Remote Development Extensions**: 支持远程开发功能。
这些工具可以通过 VSCode 扩展市场下载并安装[^4]。
#### 2. 设置本地和远程环境
为了实现远程调试,需要在本地机器上设置一个连接到目标设备的 SSH 或其他网络协议。具体操作如下:
- 在 `.vscode/settings.json` 文件中定义 `remote.SSH.configFile` 路径指向你的 SSH 配置文件位置。
- 使用 Remote - SSH 插件创建一个新的窗口来访问远程主机上的项目目录。
#### 3. 创建构建系统
在远程服务器端完成项目的初始化工作之后,在该路径下建立名为 `build` 的子目录用于存放生成物,并执行相应的命令以准备可执行程序及其依赖项:
```bash
mkdir build && cd build
cmake ..
make
```
对于 Windows 用户或者 MinGW 工具链使用者来说,则可能需要用特定选项指定生成器类型:
```bash
cmake .. -G "MinGW Makefiles"
```
#### 4. 编写 launch.json 配置文件
编辑位于 `${workspaceFolder}/.vscode/launch.json` 的启动配置文件,添加类似于下面的内容以便支持 GDB/Lldb 等作为后台驱动引擎来进行调试会话管理:
```json
{
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/build/main.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": true,
"MIMode": "gdb",
"miDebuggerPath":"/usr/bin/gdb",
"setupCommands":[],
"preLaunchTask":"compile"
}
]
}
```
上述 JSON 片段中的 `"program"` 字段应调整为你实际编译出来的二进制文件名;而 `"miDebuggerPath"` 则需指明远端 Linux 上 gdb 可执行档的位置[^5]。
#### 5. 处理常见问题
当遇到某些情况下即使设置了断点却未触发的情况时,可以考虑重新加载整个解决方案或将所有缓存清除后再试一次。另外需要注意的是关于符号表加载失败的问题——这可能是由于链接阶段缺少 `-rdynamic` 参数引起的,因此建议修改 CMakeLists.txt 加入此标志再重做一遍流程即可解决此类状况[^6]。
```cmake
set(CMAKE_CXX_FLAGS "-Wall -Wextra -O0 -g -rdynamic")
```
---
###
阅读全文
相关推荐


















