@服务端build,开发板运行,服务端使用VScode调试
VScode插件准备
- c/c++
- Remote的四个插件
服务端
- 安装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 disenable #关闭防火墙
showmount -e #查看是否挂载成功
VScode配置
vscode 配置 launch.json 配置 launch.json 与前面的配置过程一致,但是 launch.json 中需要增加两对key和value,分别是
- 添加 miDebuggerPath : 对应框架的gdb的路径
- 添加 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:端口号 可执行程序
|