通过VsCode远程Debug

NFS挂载文件夹

服务端

sudo apt-get insatll nfs-kernel-server

sudo vi /etc/exports

# 将下面的代码放在exports最后一行 eg:/home/用户名/文件名 *(rw,sync,no_root_squash) 10.42.0.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000,no_subtree_check) 注:这里的10.42.0代表我们ip的网段,最后一个.0的意思是在这个网段下所有的网络都可以链接我们这个文件夹

sync //同步环境

/etc/init.d/nfs-kernel-server restart //重启nfs服务 

showmount -e //显示当前可以被挂载的目录

客户端

sudo apt update

sudo apt install nfs-common

样式:mount -t nfs ip:pathname local_pathname -o nolock

1. ip:目标设备的ip,虚拟机ip  

2. pathname:挂载文件的路径

3. local_pathname :开发板文件系统中的路径文件

# sudo mount -t nfs 192.168.3.91:/home/hanln/rk3588 /home/cat/rk3588 理解为:将IP地址为192.168.3.6的虚拟机的家目录下的nfs目录挂载到当前目录下的根目录下的mnt里。

# sh连接脚本: 
vi mount.sh 
#!/bin/bash 
sudo mount -t nfs 192.168.3.91:/home/hanln/rk3588 /home/cat/rk3588

首先通过vscode链接上板卡

先安装Remote-SSH插件

配置SSH链接

正式链接板卡,第一次链接可能会比较慢,或者卡住,这时候确认一下板卡的ip和用户名,都没问题就关掉再次链接即可

选择nfs挂载的文件夹,对应的也就是我们要debug的文件夹目录(NFS挂载流程请参考另外一个条目:NFS挂载文件夹)

挂载到我们.c文件的目录下

接着开始配置debug环境

在板卡里里面安装gdb

通过vscode在板卡里面安装必要的插件

Debug的具体配置

这个位置点击启动调试

这个界面就代表成功了,打上断点就可以调试了

### 配置 VSCode 进行远程调试 #### 安装必要的扩展 为了实现VSCode远程调试功能,需安装Remote - SSH扩展包。该工具允许开发者通过SSH连接到任何位置的机器上,并如同在本机一样地打开文件夹进行开发工作[^2]。 #### 设置SSH连接 确保目标服务器已开启SSH服务并可访问。接着,在本地计算机上的命令行输入`ssh user@your.server.ip.address`来验证能否成功登录至远端主机。这里的user应替换为实际用户名,而your.server.ip.address则指代服务器的具体IP地址[^3]。 #### 创建与配置launch.json文件 对于C/C++项目而言,创建`.vscode/launch.json`文件用于定义调试会话参数。一个典型的设置可能如下所示: ```json { "version": "0.2.0", "configurations": [ { "name": "(gdb) Launch", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/build/main", "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": true, "MIMode": "gdb", "miDebuggerPath": "/usr/bin/gdb", "setupCommands": [ { "description": "Enable pretty-printing for gdb", "text": "-enable-pretty-printing", "ignoreFailures": true } ], "preLaunchTask": "Build Program" } ] } ``` 此JSON对象中的字段解释了如何启动程序、传递给它的参数是什么样的、应该在哪停止执行等重要细节;其中特别注意的是`miDebuggerPath`项指向GDB路径,这取决于不同系统的具体安装情况[^1]。 #### 解决常见错误提示 如果遇到类似于“Failed to connect to the remote extension host server”的警告信息,则可能是由于网络状况不佳或是防火墙阻止造成的WebSocket通信中断所致。尝试调整防火墙规则或者更改网络环境以排除此类障碍物[^5]。 另外,当面对"Remote 'g' packet reply is too long"这样的报错时,可以考虑更新或修补GDB版本,比如参照特定指导修改源码内的remote.c文件作为临时解决方案[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值