【VSCode】远程调试Linux系统上工程,配置的类型 cppdbg 不受支持

当在一个新的Linux系统上调试时,出现下面问题:
配置的类型 cppdbg 不受支持
需要在vscode界面,打开远程系统工程的情况下,在扩展安装里面搜索“C/C++ runner”进行安装

安装完成即可解决

### 使用VSCode远程调试Linux内核 为了实现通过Visual Studio Code (VSCode) 对Linux内核进行远程调试,需完成几个重要设置。这不仅涉及本地IDE的调整,也涉及到目标机器上的准备工作。 #### 安装必要的扩展 确保安装了Remote Development扩展包,该工具集支持多种类型远程连接方式,包括SSH、容器以及Windows子系统中的Linux(WSL)[^1]。 #### 设置开发主机 在本地计算机上启动VSCode并利用Remote-SSH功能链接到运行着待调试内核的目标服务器。一旦建立了稳定的安全外壳协议会话,则可以如同操作本机项目一样管理远端文件系统内的资源。 #### 准备目标设备 于欲调试之操作系统实例中部署GDB server——GNU Debugger的服务端组件;此服务允许外部客户端接入并控制进程执行流程。对于内核级应用而言,可能还需要额外加载kgdb模块来增强调试能力。 #### 编译带有调试信息的内核版本 构建一个启用了KGDB选项(`CONFIG_KGDB`)的新版核心镜像,并确保编译过程中保留完整的符号表(-g flag),以便后续分析时能获取更详尽的信息。 #### 创建launch.json配置文件 定义一组JSON对象用于指导VSCode如何初始化一次新的调试环节。下面是一个适用于上述场景的例子: ```json { "version": "0.2.0", "configurations": [ { "name": "(gdb) Attach to kernel via kgdb", "type": "cppdbg", "request": "attach", "program": "/path/to/vmlinux", // 调试符号路径 "MIMode": "gdb", "miDebuggerPath":"/usr/bin/gdb", "setupCommands":[ {"description":"Enable pretty-printing","text":"-enable-pretty-printing"} ], "targetArchitecture":"x86_64", "pipeTransport":{ "pipeProgram":"/usr/bin/ssh", "pipeArgs":["root@your.target.machine"], "debugger Rosenfeld":"echo \"\\nset debug remote verbose on\" | nc -U /tmp/kgdb.sock" } } ] } ``` 这段代码片段展示了如何指定要附加至哪个可执行文件(这里指代的是vmlinux),并通过SSH隧道建立与远程GDB server之间的通信桥梁。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值