基于GDB和GDBServer的远程调试方法
发布时间:2019-7-30 15:22
发布者:Tronlong818
1 前言 表 1
操作环境: Ø Ubuntu 14.04.3 64bit GDBServer远程调试是应用程序在开发板上运行,然后在PC上对开发板上的应用程序进行调试,PC运行GDB,开发板运行GDBServer。在应用程序调试的时候,PC的GDB向开发板上的GDBServer发出命令,而开发板上的GDBServer就会向应用程序发出信号,使应用程序停下来或者完成其他一些工作。 2 开发板安装GDBServer一般情况下,开发板均已安装GDBServer,位于开发板”/usr/bin”目录下。可以在开发板中输入”ls /usr/bin/gdbserver”检查,现象类似如下图,则说明开发板已安装GDBServer。 ![]() 图 1 如果开发板还没安装GDBServer,可在对应开发板的SDK安装目录中找到GDBServer可执行程序。 AM437x平台V01.00.00.03版本Linux Processor-SDK开发包,GDBServer可执行程序位于SDK安装目录的如下路径: linux-devkit/sysroots/cortexa9t2hf-vfp-neon-linux-gnueabi/usr/bin/gdbserver AM437x平台V03.03.00.04版本Linux Processor-SDK开发包,GDBServer可执行程序位于SDK安装目录的如下路径: linux-devkit/sysroots/armv7ahf-neon-linux-gnueabi/usr/bin/gdbserver 将其拷贝到开发板文件系统"/usr/bin"目录即可。 3 新建测试程序在Ubuntu上新建测试程序test.c,用于演示GDB调试,并输入如下代码: #include int main() { int a = 1; float b = 2.0; char s[16] = "tronlong"; int hoge_a = a*2; float hoge_b = b*2; printf("s is :%s\n", s); printf("hoge_a is : %d\n", hoge_a); printf("hoge_b is : %f\n", hoge_b); return 0; } ![]() 图 2 执行如下命令编译程序,使用”-g”参数进行GDB编译: Host# arm-linux-gnueabihf-gcc test.c -o test -g ![]() 图 3 将编译后可执行程序test拷贝到开发板任意路径下。 销售邮箱:sales@tronlong.com 技术邮箱:support@tronlong.com 创龙总机:020-8998-6280 技术热线:020-3893-9734 创龙官网:www.tronlong.com 技术论坛:www.51ele.net |
网友评论