使用 GDB 进行调试的全面指南
1. 准备工作
在开始调试之前,需要构建带有调试符号的可执行文件。在构建选项中启用BR2_ENABLE_DEBUG(即“Build packages with debugging symbols”),这样会在output/host/usr/<arch>/sysroot中创建带有调试符号的库。
2. 开始调试
当目标设备上安装了gdbserver,主机上安装了交叉 GDB 后,就可以开始调试会话。
2.1 连接 GDB 和 gdbserver
GDB 和gdbserver之间的连接可以通过网络或串行接口实现。
-网络连接:
1. 在目标设备上,启动gdbserver并指定监听的 TCP 端口号,可选地指定接受连接的 IP 地址。例如,让gdbserver在端口 10000 上等待来自任何主机的连接:
# gdbserver :10000 ./hello-world此命令会创建 `hello-world` 进程,并显示进程 ID 和监听端口信息。 2. 在主机上,从工具链启动 GDB,并指向未剥离符号的程序副本,以便 GDB 加载符号表: