gdb与gdbserver的编译

gdb与gdbserver的编译

1、源码下载:

gdb源码下载地址 以gdb-10.2版本为例,(版本体积一大一小交替出现,小版本疑似存在问题)

解压:tar zxvf gdb-10.2.tar.gz

2、编译gdb(运行在主机端)

方法1(推荐)

创建文件夹_build并进入

mkdir _build

cd _build

配置、编译、安装

1 ../configure --prefix=/data1/peifeixiang/work/project/gdb-10.2/_result --host=x86_64-linux-gnu --target=aarch64-linux-gnu --program-prefix=aarch64-linux-gnu-

2 make

3 make install

--prefix=/data1/peifeixiang/work/project/gdb-10.2/_result:最终成果物保存位置

--host=x86_64-linux-gnu:编译链,宿主机gdb要运行的平台为x86_64架构的linux系统

--target=aarch64-linux-gnu:gdb要调试的程序运行在aarch64-linux-gnu架构的ARM开发板平台

--program-prefix=aarch64-linux-gnu-:成果物文件名前缀

参考: 交叉编译之./configure --build,--host,--target设置_configure交叉编译-CSDN博客

方法2

不进入 _build文件夹,直接在gdb-10.2文件夹下执行

1 ./configure --prefix=/data1/peifeixiang/work/project/gdb-10.2/_result --host=x86_64-linux-gnu --target=aarch64-linux-gnu --program-prefix=aarch64-linux-gnu-

2 make

3 make install

3、编译gdbserver(运行在嵌入式板端)(编译完gdb后,再用下面的方法编译gdbserver会报错,原因未知,需重新解压。。。。。。。)

1 ./configure --prefix=/data1/peifeixiang/work/project/gdb-10.2/gdbserver/_result --host=aarch64-linux-gnu --target=aarch64-linux-gnu --disable-gdb

2 make

3 make install

#静态编译

执行make前 进入gdb-10.2\gdbserver,打开Makefile,搜索 CFLAGS,将

1 CFLAGS = -g -O2

2 CXXFLAGS = -g -O2

3 CPPFLAGS =

改为

CFLAGS = -g -O2 -static

CXXFLAGS = -g -O2 -static

CPPFLAGS = -static

LDFLAGS 也同样修改

gdb或gdbservice过大的话可使用strip进行瘦身参考:https://developer.aliyun.com/article/243857、https://www.cnblogs.com/pengdonglin137/p/4751279.html

参考文件:

https://zhuanlan.zhihu.com/p/295099630

https://www.cnblogs.com/my_life/articles/10675094.html

相关推荐

韩国前总统朴槿惠一审被判24年监禁
365风控审核不给提款怎么办

韩国前总统朴槿惠一审被判24年监禁

📅 08-19 👁️ 691
转区预定后卖号的神操作。。。
beat365上不去

转区预定后卖号的神操作。。。

📅 09-07 👁️ 9669
今日头条号指数查询方法与数据解读指南
365体育官网全球最大

今日头条号指数查询方法与数据解读指南

📅 07-09 👁️ 3492