VScode使用开发板环境进行调试

该博客详细介绍了如何在VSCode中配置远程调试C++服务端程序的步骤,包括安装nfs、设置/etc/exports文件、关闭防火墙、配置launch.json以及在开发板上进行gdbserver的安装和使用。通过这些步骤,开发者可以在VSCode中实现对远程开发板上程序的断点调试。

@服务端build,开发板运行,服务端使用VScode调试

VScode插件准备

  1. c/c++
  2. Remote的四个插件

服务端

  1. 安装nfs
sudo apt-get install nfs-kernel-server
sudo gedit /etc/exports
sudo /etc/init.d/rpcbind restart
sudo /etc/init.d/nfs-kernel-server restart

/etc/exports文件内容

#/etc/exports: the access control list for filesystems which may be exported
#to NFS clients.  See exports(5).
#
#Example for NFSv2 and NFSv3:
#/srv/homes       hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
#
#Example for NFSv4:
#/srv/nfs4        gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
#/srv/nfs4/homes  gss/krb5i(rw,sync,no_subtree_check)
#
/home/cc/data/cc/work_git/horizon_sdk *(rw,sync,no_root_squash,insecure)

/home/cc/data/cc/work_git/horizon_sdk是指服务端需要挂载的文件夹路径; *代表对所有网段开放。
备注:记得关闭防火墙

sudo ufw status #查看防火墙状态
sudo ufw enable #开启防火墙
sudo ufw disable #关闭防火墙
showmount -e #查看是否挂载成功

VScode配置

vscode 配置 launch.json
配置 launch.json 与前面的配置过程一致,但是 launch.json 中需要增加两对key和value,分别是

  1. 添加 miDebuggerPath : 对应框架的gdb的路径
  2. 添加 miDebuggerServerAddress : 开发板ip和端口号,要和gdbserver中的ip和端口一致,修改成功后就可以在代码中加断点调试了.
{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) 启动",
            "type": "cppdbg",
            "request": "launch",
            "program": "/home/horizon_sdk/build/client",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "miDebuggerPath":"/opt/gcc-linaro-6.5.0-2018.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gdb",
            "miDebuggerServerAddress":"192.168.*.*:1001", # *修改为开发板IP
        }
    ]
}

开发板

ssh连接开发板进入挂载文件夹

mount -t nfs -o nolock -o tcp -o rsize=32768,wsize=32768 服务端IP:服务端需要挂载的文件夹 客户端需要挂载的文件夹

导入所需要的第三方库

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/userdata/horizon_sdk/thirdparty/bpu_predict_1.13.4/bpu_predict/lib
export LD_LIBRARY_PATH

安装gdbserver

apt install gdbserver
gdbserver 开发板IP:端口号 可执行程序
好的,这里给出一个例子,介绍如何使用VS Code进行SSH连接并调试开发板应用。 假设我们要连接到一个名为"myboard"的开发板,并调试其上的C++应用程序。我们需要完成以下步骤: 1. 在开发板上安装OpenSSH服务,并配置允许远程SSH连接。 2. 在本地机器上安装VS Code,并安装Remote Development扩展。 3. 在VS Code中打开一个空文件夹,并按下F1键打开命令面板。输入“Remote-SSH: Connect to Host”,选择“Add New SSH Host...”并输入连接信息,如下所示: ``` Host myboard HostName 192.168.1.100 //开发板的IP地址 User pi //开发板的用户名 Port 22 //SSH端口号 ``` 4. 连接到开发板后,使用VS Code的远程文件浏览器功能打开开发板上的源代码文件夹。 5. 在VS Code中打开应用程序的源代码文件,并在需要调试的位置设置断点。 6. 按下F5键启动调试会话,并选择“C++ (GDB/LLDB)”作为调试环境。 7. 在弹出的调试配置文件中,设置“targetRemote”选项为开发板的IP地址和端口号,并设置“cwd”选项为应用程序所在的文件夹。 ``` { "version": "0.2.0", "configurations": [ { "name": "(gdb) Launch", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/build/myapp", "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}/build", "environment": [], "externalConsole": false, "MIMode": "gdb", "miDebuggerPath": "/usr/bin/gdb", "setupCommands": [ { "description": "Enable gdb pretty-printing for gdb 7.2 and later", "text": "-enable-pretty-printing", "ignoreFailures": true } ], "targetRemote": "192.168.1.100:22" } ] } ``` 8. 点击调试工具栏上的“启动调试”按钮,开始调试应用程序。 以上就是一个简单的使用VS Code进行SSH连接并调试开发板应用的例子。当然,具体的步骤可能因不同的开发板和应用程序而异,需要根据实际情况进行调整。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值