vscode + gdbserver + Ubuntu 优雅的调试程序

一、vscode远程连接 linux 服务器

1、下载远程连接所需的插件,如下图:

vscode + gdbserver + Ubuntu 优雅的调试程序_第1张图片

2、下载完成后重启vscode,点击左下角的绿色对角部分

vscode + gdbserver + Ubuntu 优雅的调试程序_第2张图片

vscode + gdbserver + Ubuntu 优雅的调试程序_第3张图片

3、输入ssh命令连接Ubuntu服务器 

vscode + gdbserver + Ubuntu 优雅的调试程序_第4张图片连接成功后左下角的绿色对角会显示 SSH:服务器IP地址 ,表示连接成功,否则显示拒绝连接,然后就可以打开文件夹选择自己的项目目录了,如下图:

vscode + gdbserver + Ubuntu 优雅的调试程序_第5张图片

4、点击下图红色方框处可以打开连接的 linux 服务器的终端调试控制台 

vscode + gdbserver + Ubuntu 优雅的调试程序_第6张图片

二、配置.vscode文件

1、配置tasks.json

①、选择 终端 --> 配置任务

vscode + gdbserver + Ubuntu 优雅的调试程序_第7张图片

自动生成tasks.json文件

vscode + gdbserver + Ubuntu 优雅的调试程序_第8张图片

2、配置launch.json

选择 运行 --> 打开配置

vscode + gdbserver + Ubuntu 优雅的调试程序_第9张图片

自动生成launch.json文件,修改如下配置:

vscode + gdbserver + Ubuntu 优雅的调试程序_第10张图片

“program”:最终可执行程序的路径

"miDebuggerPath":交叉编译工具的gdb工具(arm-linux-gnueabihf-gdb)

"miDebuggerServerAddress":被调试机的ip地址:调试所用端口号(可自定)

二、配置被调试机

1、将上述 "miDebuggerPath" 所在路径的交叉编译调试工具 gdbserver程序添加到被调试机的 /usr/bin 目录下,并给予执行权限。

2、用ssh或串口连接被调试机,终端输入命令 gdbserver 被调试机IP地址:所用端口号 ./可执行程序(例如:gdbserver 192.168.0.2:9001 ./helloWord)。

三、调试

1、选择要调试程序源码一处打断点(可多处,也可以调试起来时再打)。

2、选择 运行 --> 启动调试

vscode + gdbserver + Ubuntu 优雅的调试程序_第11张图片

程序就会运行到断点处暂停

F10:单步跳过:不进入函数中,一行一行的顺序调试。

F11:单步调试:严格每一行都进入,函数或者引用都会进入。

Shift + F11:单步跳出:进入到函数中单步运行时可以跳出当前函数。

F5:继续执行:继续放开程序运行,如果有断点则会直接运行到断点处暂停。

四、注意事项

1、被调试机的IP地址要与调试源码的主机IP地址互通(可以用 ping 的方式检查是否互通)。

2、被调试机用 gdbserver 运行起来的程序必须是所调试的源码编译得来的,二者要对应。

3、编译源码得到可执行程序时 Makefile 或者 cmake 配置文件中 make 时要加 -g 编译参数来编译

你可能感兴趣的:(vscode,linux,ubuntu)