本篇讲解如何使用gdbserver
对目标开发板上的程序进行远程调试。
安装 GDBSERVER
首先在开发板上安装 gdbserver:
apt install gdbserver
gdbserver 用法
gdbserver用法描述:
Usage: gdbserver [OPTIONS] COMM PROG [ARGS ...] gdbserver [OPTIONS] --attach COMM PID gdbserver [OPTIONS] --multi COMM COMM may either be a tty device (for serial debugging), HOST:PORT to listen for a TCP connection, or '-' or 'stdio' to use stdin/stdout of gdbserver. PROG is the executable program. ARGS are arguments passed to inferior. PID is the process ID to attach to, when --attach is specified. Operating modes: --attach Attach to running process PID. --multi Start server without a specific program, and only quit when explicitly commanded. --once Exit after the first connection has closed. --help Print this message and then exit. --version Display version information and exit.
使用gdbserver
很简单,主要就是先在开发板上开启gdbserver
,然后宿主机运行gdb
远程连接到gdbserver
。
具体步骤
一:在目标开发板上启动 gdbserver 服务
要进行gdb调试,首先要在目标开发板上启动gdbserver
服务。在gdbserver
所在目录下输入命令:
gdbserver :12345 helloworld
此时gdbserver
监听端口号12345
,并等待客户端连接。这里的端口号是自己指定的,helloworld
是你要调试的程序。
二:在宿主机上运行 GDB:
宿主机通常就是在你的Linux虚拟机上,然后找到开发板对应工具链下的gdb,然后运行:
riscv64-linux-gnu-gdb helloworld (gdb) target remote 192.168.1.4:12345
192.168.1.4
是开发板的ip
地址,12345
是开发板启动gdbserver
服务时指定的端口号。
GDB 的基本使用方法,可以参考:Linux系统调试篇——GDB调试入门
end
往期推荐