网易首页 > 网易号 > 正文 申请入驻

gdb本地调试版本移植至ARM-Linux系统

0
分享至



移植ncurses库

本文使用的ncurses版本为ncurses-5.9.tar.gz

下载地址:https://ftp.gnu.org/gnu/ncurses/ncurses-5.9.tar.gz

1.将ncurses压缩包拷贝至Linux主机或使用wget命令下载并解压

tar-zxvfncurses-5.9.tar.gz

2.解压后进入到ncurses-5.9目录下

cdncurses-5.9

3.在ncurses-5.9目录下创建编译完成后生成文件位置

mkdiroutput

cdoutput

mkdirarm-linux

4.生成Makefile文件

./configure--target=arm-none-linux-gnueabi--prefix=$PWD/output/arm-linux--enable-termcap--with-shared--without-ada

l--target表示编译器的前缀,需要根据编译的不同需求进行修改

l--prefix表示编译完成后生成文件的位置

l--nable-termcap表示关键代码使用termcap(terminalcapabilities)数据库[自动检测]

l--with-shared表示动态编译

5.编译

make

当遇到如下报错时

Makefile:794:recipefortarget'../obj_s/lib_gen.o'failed

make[1]:***[../obj_s/lib_gen.o]Error1

make[1]:Leavingdirectory'.../ncurses-5.9/ncurses'

Makefile:109:recipefortarget'all'failed

make:***[all]Error2

需要进入ncurses-5.9/include文件夹,修改curses.tail文件下的如下内容,将注释/*generated*/去掉

externNCURSES_EXPORT(bool)mouse_trafo(int*,int*,bool);/*generated*/

6.安装

Makeinstall

7.安装完成后会在/output/arm-linux目录下生成库文件,我们只需将lib目录下的libncurses.so.5库拷贝至开发板

移植gdb

本文使用的gdb版本为gdb-7.12.tar.gz

下载地址:https://ftp.gnu.org/gnu/gdb/gdb-7.12.tar.gz

1.将gdb压缩包拷贝至Linux主机或使用wget命令下载并解压

tar-zxvfgdb-7.12.tar.gz

2.解压后进入到ncurses-5.9目录下

cdgdb-7.12

3.生成Makefile文件

./configure-host=arm-none-linux-gnueabiCC=/home/vanxoak/CodeSourcery/Sourcery_G++_Lite/bin/arm-none-linux-gnueabi-gcc--enable-shared--prefix=$PWD/output/arm-linux--disable-werror--without-x--disable-gdbtk--disable-tui--without-included-regex--without-included-gettextLDFLAGS="-L$PWD/../output/arm-linux/lib"CPPFLASS="-I$PWD/../output/arm-linux/include"

  • --host=arm-none-linux-gnueabi用arm-none-linux-gnueabi编译
  • CC为交叉编译器绝对路径
  • --enable-shared动态编译
  • prefix=“$PWD/output/arm-linux”安装目录
  • --disable-werror屏蔽werror报警
  • --without-x取消xwindows支持
  • --disable-gdbtk取消gdbtk
  • --disable-tui取消tui界面
  • --without-included-gettext去掉用于多语言处理的gettext库
  • "LDFLAGS=XXX"指交叉编译完成的ncurse的lib目录路径
  • "CPPFLAGS=XXX"指是交叉编译完成的ncurse的include目录路径

4.编译

make

5.安装

makeinstall

安装完成后会在.../gdb-7.12/output/arm-linux/bin/目录下生成gdb可执行程序。

移植至HDT3-EVM开发板

1.将libncurses.so.5库文件拷贝至/usr/lib目录下,若/usr目录下无lib目录可手动创建mkdirlib

2.将gdb程序拷贝至/bin目录下



测试调试

1.编写可执行测试程序,示例hello.c代码如下,该代码执行后会打印HelloWorld。

#include

intmain(intargc,char*argv[])

printf("HelloWorld\n");

return0;

2.使用交叉编译器进行编译,需要注意的是,要使用gdb调试程序,需要在使用交叉编译器编译源代码时加上"-g"参数保留调试信息,否则不能使用GDB进行调试且报如下最后一行所示错误:

/home#gdbhello

GNUgdb(GDB)7.12

Copyright(C)2016FreeSoftwareFoundation,Inc.

LicenseGPLv3+:GNUGPLversion3orlater

Thisisfreesoftware:youarefreetochangeandredistributeit.

ThereisNOWARRANTY,totheextentpermittedbylaw.Type"showcopying"

and"showwarranty"fordetails.

ThisGDBwasconfiguredas"arm-none-linux-gnueabi".

Type"showconfiguration"forconfigurationdetails.

Forbugreportinginstructions,pleasesee:

FindtheGDBmanualandotherdocumentationresourcesonlineat:

Forhelp,type"help".

Type"aproposword"tosearchforcommandsrelatedto"word"...

Readingsymbolsfromhello...(nodebuggingsymbolsfound)...done.

3.使用交叉编译器编译测试程序

arm-none-linux-gnueabi-gcc-g-ohellohello.c

4.将生成的hello文件拷贝至HDT3-EVM开发板上并使用sync命令保存

5.输入gbd命令启动gdb程序

/home#gdb

GNUgdb(GDB)7.12

Copyright(C)2016FreeSoftwareFoundation,Inc.

LicenseGPLv3+:GNUGPLversion3orlater

Thisisfreesoftware:youarefreetochangeandredistributeit.

ThereisNOWARRANTY,totheextentpermittedbylaw.Type"showcopying"

and"showwarranty"fordetails.

ThisGDBwasconfiguredas"arm-none-linux-gnueabi".

Type"showconfiguration"forconfigurationdetails.

Forbugreportinginstructions,pleasesee:

FindtheGDBmanualandotherdocumentationresourcesonlineat:

Forhelp,type"help".

Type"aproposword"tosearchforcommandsrelatedto"word".

(gdb)

上述代码(gdb)为GBD内部命令引导符,表示等待用户输入gbd命令

6.使用"filehello"命令载入被调试的测试程序

(gdb)filehello

Readingsymbolsfromhello...done.

显示Readingsymbolsfromhello...done.表示被测程序加载成功

7.使用"r"命令执行调试测试程序

(gdb)r

Startingprogram:/home/hello

HelloWorld

[Inferior1(process849)exitednormally]

如上述代码显示"HelloWorld"即表示hello程序执行完成

(gdb)help

Listofclassesofcommands:

aliases--Aliasesofothercommands

breakpoints--Makingprogramstopatcertainpoints

data--Examiningdata

files--Specifyingandexaminingfiles

internals--Maintenancecommands

obscure--Obscurefeatures

running--Runningtheprogram

stack--Examiningthestack

status--Statusinquiries

support--Supportfacilities

tracepoints--Tracingofprogramexecutionwithoutstoppingtheprogram

user-defined--User-definedcommands

Type"help"followedbyaclassnameforalistofcommandsinthatclass.

Type"helpall"forthelistofallcommands.

Type"help"followedbycommandnameforfulldocumentation.

Type"aproposword"tosearchforcommandsrelatedto"word".

Commandnameabbreviationsareallowedifunambiguous.

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
孩子画鸡“不及格”,爸爸晒真鸡照片质问老师:画得不够像吗?

孩子画鸡“不及格”,爸爸晒真鸡照片质问老师:画得不够像吗?

新时代的两性情感
2024-05-22 11:01:46
法国军事教官真去乌克兰了!俄罗斯红线接连被踏破,会爆发三战?

法国军事教官真去乌克兰了!俄罗斯红线接连被踏破,会爆发三战?

鹰眼Defence
2024-06-02 17:17:11
河南“双面书记”落马:卖官鬻爵疯狂敛财,曾令数百人无家可归

河南“双面书记”落马:卖官鬻爵疯狂敛财,曾令数百人无家可归

天闻地知
2024-06-03 10:55:04
十个化疗九个死,这是真的吗?揭秘:癌症化疗+中医“带瘤生存”

十个化疗九个死,这是真的吗?揭秘:癌症化疗+中医“带瘤生存”

流逝的沙
2024-05-14 10:12:49
瓦罐车在中国不流行的根本原因

瓦罐车在中国不流行的根本原因

户外小阿隋
2024-06-03 02:20:03
23岁女性患者,咳嗽无力2周,由诊所送至医院时已昏迷,尸体解剖结果出乎意料!

23岁女性患者,咳嗽无力2周,由诊所送至医院时已昏迷,尸体解剖结果出乎意料!

听李医生说
2024-06-03 09:07:50
辽宁队主力中锋莫兰德恐将离队,要求涨工资230万不满签下阿丘尔

辽宁队主力中锋莫兰德恐将离队,要求涨工资230万不满签下阿丘尔

带着篮球闯天下
2024-06-03 17:43:16
还有四天,欧洲将迎来历史性变革!

还有四天,欧洲将迎来历史性变革!

罗sir职话
2024-06-02 17:03:59
原来她早已离世!抗癌整整七年花了7500万,59岁留下遗书离开人世

原来她早已离世!抗癌整整七年花了7500万,59岁留下遗书离开人世

圈里的甜橙子
2024-05-30 12:52:22
下一个进入NBA的中国人,定是这个“广西仔”!

下一个进入NBA的中国人,定是这个“广西仔”!

林子说事
2024-05-31 07:35:07
终于明白健身优势,50岁郑秀文同框44岁林嘉欣,打扮性感却像小辈

终于明白健身优势,50岁郑秀文同框44岁林嘉欣,打扮性感却像小辈

顶牌故事会
2024-06-02 14:57:32
中国女篮VS日本女篮,3天2赛+时间敲定,门票最贵888块钱,谁能赢

中国女篮VS日本女篮,3天2赛+时间敲定,门票最贵888块钱,谁能赢

体育大学僧
2024-06-03 12:57:54
这些食物正在损害你的皮肤!兰州大学:咖啡、猪肉或导致皮肤衰老

这些食物正在损害你的皮肤!兰州大学:咖啡、猪肉或导致皮肤衰老

时光派健康抗衰
2024-06-03 17:41:39
大S为什么这样痛快地答应了汪小菲接走儿子的事情

大S为什么这样痛快地答应了汪小菲接走儿子的事情

娱乐八卦木木子
2024-06-03 11:05:08
Costco常见知名矿泉水大规模召回!大批消费者中招:刚囤40箱!

Costco常见知名矿泉水大规模召回!大批消费者中招:刚囤40箱!

薪想事成的班
2024-06-03 09:24:53
《庆余年2》众演员发文告别角色范建不舍田雨动情张若昀千字泪目

《庆余年2》众演员发文告别角色范建不舍田雨动情张若昀千字泪目

阿芒娱乐说
2024-06-03 12:11:01
比亚迪秦L满油满电跑2400公里,喵哥全程测试来了,这下服气了吗

比亚迪秦L满油满电跑2400公里,喵哥全程测试来了,这下服气了吗

看看娱乐与体育
2024-06-03 18:17:15
如今最大的悲哀

如今最大的悲哀

王晓爱体彩
2024-06-03 11:02:33
回归经典,被称为“十年来最美的宝马”?Skytop概念车亮相

回归经典,被称为“十年来最美的宝马”?Skytop概念车亮相

户外小阿隋
2024-06-03 16:09:42
回顾:男子心疼老人卖米,花200元全买走,回家打开米袋瞬间懵了

回顾:男子心疼老人卖米,花200元全买走,回家打开米袋瞬间懵了

玲说百态味
2024-06-03 11:25:43
2024-06-03 19:36:49
武汉万象奥科
武汉万象奥科
工业物联网系统级解决方案
127文章数 0关注度
往期回顾 全部

科技要闻

特斯拉回应单踏板模式可能被禁止:暂无影响

头条要闻

美国放宽限制后 乌克兰首次使用"海马斯"袭击俄本土

头条要闻

美国放宽限制后 乌克兰首次使用"海马斯"袭击俄本土

体育要闻

万人空巷!皇马举行欧冠夺冠庆典

娱乐要闻

混战升级!编剧赵冬苓力挺王阳遭围攻

财经要闻

接班100天,宗馥莉急了

汽车要闻

搭载华为HiCAR 传祺M6 MAX售14.58万元

态度原创

本地
时尚
艺术
房产
公开课

本地新闻

食味印象|歙县限定!枇杷味儿的清甜初夏

为什么我劝中年男人:衣不穿紧、不塞衣角?看这3组对比就明白了

艺术要闻

穿越时空的艺术:《马可·波罗》AI沉浸影片探索人类文明

房产要闻

12000+起!海口40+楼盘,最新价格曝光!

公开课

近视只是视力差?小心并发症

无障碍浏览 进入关怀版