搭建嵌入式Linux gdb环境

 

Linux应用程序可以使用gdb调试,可设置断点查看代码指定位置变量状态。

  • 准备

Buildroot:下载buildroot到宿主机上。其是一个可以通过配置即编译其它工具的工具,不需要管编译工具时依赖的库文件,该工具会自动下载。

arm-linux-gcc:buildroot编译后在 buildroot/output/host/bin目录下。Gdb调试的代码必须使用此交叉编译器编译。

gdbserver:在buildroot/output/host/arm-buildroot-linux-gnueabi/debug-root/usr/bin/目录下,可以使用find ./ -name "gdbserver"命令查找。使用时需要将该工具拷贝到目标机linux系统上。

arm-linux-gdb:在buildroot/output/host/bin/目录下,在宿主机上运行gdb客户端。

rootfs:在buildroot/output/image路径下,目标机需要使用该根文件系统,里面包含gdbserver以及应用程序需要的库文件。

test_app: 被调试的gdb程序,编译时需要加上-g选项。

 

二、buildroot配置编译

Buildrroot配置(命令 make menuconfig)

Arm架构选择

搭建嵌入式Linux gdb环境_第1张图片

 

库、内核头、c++配置

搭建嵌入式Linux gdb环境_第2张图片

 

配置生成gdbserver

搭建嵌入式Linux gdb环境_第3张图片

 

编译(直接输入make)

 

三、重新制作根文件系统

将rootfs解压后,制作成根文件系统,并下载到目标板上。

 

四、生成调试文件

编写测试文件并生成可执行文件,编译时加-g选项,使用buildroot生成gcc。将文件拷贝到目标板上。

 

五、连接

     确定目标板与宿主机在同一网段,并且能互相ping通,关闭主机防火墙。

     在目标板上执行 ./gdbserver  192.168.47.189:1234 test_app    //此处为目标板IP

     主机上执行 arm-linux-gdb 进入gdb命令输入模式,再输入target remote 192.168.47.189:1234

你可能感兴趣的:(gdb)