win11 + wsl + vscode + cpptools调试
安装c/c++插件
为了使用调试功能,重新安装了c/c++拓展插件,cpptools 只当“调试器前端”用,代码提示/跳转/诊断仍然全部交给 clangd,同时又为了不影响clang等拓展的功能,因此需要禁用一些功能
windows
- 在 窗口里按
Ctrl+Shift+P - 输入并选择:Preferences: Open User Settings (JSON)
- 确认打开的路径是:
/C:/Users/dky/AppData/Roaming/Code/User/settings.json - 把这三行加进去并保存:
1 | "C_Cpp.intelliSenseEngine": "disabled", |
这是“windows端全局设置”。
wsl
- 在 WSL 窗口里按
Ctrl+Shift+P - 输入并选择:Preferences: Open Remote Settings (JSON)
- 或者直接打开:
code ~/.vscode-server/data/Machine/settings.json - 确认打开的路径是:
/home/dky/.vscode-server/data/Machine/settings.json - 把这三行加进去并保存:
1 | "C_Cpp.intelliSenseEngine": "disabled", |
这就是 Remote Settings ,“WSL 端全局设置”。
项目工作区配置
.vscode配置
.vscode/tasks.json任务配置
1 | { |
按ctrl shift b运行该task
.vscode/launch.json调试配置
1 | { |
fn f5执行该launch
如果想每次调试都重新编译,把command改成bash一条命令:
1 | "command": "bash", |
保险起见,在工作区也彻底禁用cpptools的非调试功能,避免和clangd冲突
.vscode/settings.json配置
1 | { |
makefile配置
1 | # gdb 调试选项 |
调试
大致步骤就是:
按
ctrl shift b编译项目vscode打断点
fn f5调试