嵌入式爱好者

嵌入式爱好者 门户 知识库 查看内容

移植GDB Service服务

2019-9-30 16:56| 发布者: Xu.Zhizhuang| 查看: 428| 评论: 0

类目:  >  知识库     文档编号: 316

1.下载gdb源码
http://ftp.gnu.org/gnu/gdb/ 
2.编译 arm-linux-gdb

在PC上用gdb调试一个a.out程序时,直接 gcc main.c -g 就可以编译出含有gdb调试信息的可执行文件 a.out 
然后在调试的时候就用 gdb a.out 就可以进入gdb调试环境中

所以在使用交叉gdb时需要用交叉编译链编译出arm开发板上的执行文件,在PC机上运行能打开arm可执行文件的gdb工具,这就是 arm-linux-gdb 
解压gdb源码编译gdb的工具:
tar xvf gdb-7.8.1.tar.gz
mkdir arm-gdb
./configure --target=arm-cortex_a9-linux-gnueabi  --prefix=/home/**/tools/gdb-7.8.1/arm-gdb/
make -j4
make install -j412345

如果遇到下边的错误,应该是Ubuntu 没有安装txtinfo

WARNING: ‘makeinfo’ is missing on your system.

安装 txtinfo

sudo apt-get install texinfo1

然后重新configure make 和make install

添加环境变量

vi ~./brashrc 
export PATH=$PATH:/home/**/tools/gdb-7.8.1/arm-gdb/bin12

执行如下就说明安装成功
arm-cortex_a9-linux-gnueabi-gdb -v
GNU gdb (crosstool-NG linaro-1.13.1-4.8-2013.11 - nexell) 7.6.2
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "--host=x86_64-build_unknown-linux-gnu --target=arm-cortex_a9-linux-gnueabi".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.12345678910


3.编译gdbserver

cd gdb/gdbserver
./configure  --target=arm-cortex_a9-linux-gnueabi --host=arm-cortex_a9-linux-gnueabi
make CC=arm-cortex_a9-linux-gnueabi -j4123

就会在当前路径下生成 gdbserver,然后将gdbserver拷贝到arm开发板的/usr/bin/下



4.使用

得到上边两个必须的工具后,就看怎么使用

因为交叉编译的gdb基于网络通信来完成gdb调试,所以就需要分别在ARm端和PC端运行各自的工具来保持通信

首先在PC端编译出ARM端使用的可执行二进制文件 
arm-cortex_a9-linux-gnueabi-gcc main.c -g 
然后把 a.out拷贝到ARM端

在ARM端执行:


# gdbserver 192.168.9.101:1234 a.out //ARM的IP地址:自定义的一个端口1

在PC端执行:


arm-cortex_a9-linux-gnueabi-gdb a.out1

在PC端的gdb中连接ARM的gdbserver



(gdb) target remote 192.168.9.101:1234 1

你会看到ARM端出现



Remote debugging from host 192.168.9.681

这就说明gdb连接已经建立现在就可以使用gdb调试了
————————————————
版权声明:本文为CSDN博主「leumber」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/leumber/article/details/81078171

已解决

未解决

只是看看

最新评论

QQ|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )

GMT+8, 2024-5-2 15:18

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

返回顶部