gdb+gdbserver +vscode可视化远程调试

1、基本原理

板端运行gdbservice,linux编译服务器(要求Ubuntu16及以上版本)端运行gdb,windowsPC安装vscode通过ssh远程访问编译服务器上的代码,gdbserver与gdb通过网络通讯进行调试,如下图所示:

 

 

 2、工具:

2.1、编译gdb和gdbservice工具

2.2、windows端安装vscode、然后安装romete-ssh插件或Remote-development插件

 

安装成功后点击左下角的“打开远程窗口”。

 

 

 

 

点击“ AddAddAdd New New SSH Host HostHost... ” 

 

 

 根据提示输入编译服务器 ip和用户名:

如,编译服务器用户名为  ssh peifeixiang@10.1.74.62 -A

 

 

 回车后提示选择配置文件保存位置:

 

 

 这里 选择第一个,确定后右下角提示添加成功: 

 

 

 2.3、vscode链接编译服务器

首次 连接远程服务器需要进行配置:

启动 VScode VScodeVScode,点击左下角“打开远程窗口”,选择我们之前添加的编译服务器, VScode会在新窗口中打开连接选择系统类型为 Linux

 

 

 根据提示输入密码

后右下角会提示正在配置服务器:

 

 

 2.4安装c++扩展:

可在线或离线安装

离线安装下载地址:https://marketplace.visualstudio.com/

 

 

 3、vscode免密登录(可选功能,最后再做)

 

 

4、开始调试

4.1点击打开文件夹,然后选择打开路径

 

 

 选择一个打开的c或C++文件,点击运行->添加配置,选择第一个

 

 

 自动生成launch.json文件,含义如下:

1 ①、name:调试的项目名(此项可不修改)
2 ②、program:需要调试的应用程序可执行文件路径。
3 ③、cwd:需要调试的应用程序源码路径。
4 ④、miDebuggerPath:此项需要手动添加,用于指定所使用的交叉编译器 gdb路径,即在linux编译服务器端运行的gdb的路径。
5 ⑤、miDebuggerServerAddress:此项需要手动添加,远程 gdbserver服务器地址,也就是开发板地址

修改后如下:

 1 {
 2     // 使用 IntelliSense 了解相关属性。
 3     // 悬停以查看现有属性的描述。
 4     // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
 5     "version": "0.2.0",
 6     "configurations": [
 7         {
 8             "name": "(gdb) 启动",
 9             "type": "cppdbg",
10             "request": "launch",
11             "program": "${workspaceFolder}/bin/hikauto_debug",
12             "args": [],
13             "stopAtEntry": false,
14             "cwd": "${workspaceFolder}/",
15             "environment": [],
16             "externalConsole": false,
17             "MIMode": "gdb",
18             "setupCommands": [
19                 {
20                     "description": "为 gdb 启用整齐打印",
21                     "text": "-enable-pretty-printing",
22                     "ignoreFailures": true
23                 },
24                 {
25                     "description": "将反汇编风格设置为 Intel",
26                     "text": "-gdb-set disassembly-flavor intel",
27                     "ignoreFailures": true
28                 }
29             ],
30             "miDebuggerPath":"/data1/peifeixiang/work/project/gdb-10.2_gdb/build/bin/aarch64-linux-gnu-gdb",
31             "miDebuggerServerAddress":"10.65.32.201:9008"
32         }
33 
34     ]
35 }

 

 

开始调试

./gdbserver :9008  ./hikauto_debug &

vscode 上点击:运行->启动调试,或直接点击F5

 

 

调试快捷键

 

posted @ 2023-02-22 09:56  墨尔基阿德斯  阅读(1040)  评论(0编辑  收藏  举报