新闻资讯  快讯  焦点  财经  政策  社会
互 联 网   电商  金融  数据  计算  技巧
生活百科  科技  职场  健康  法律  汽车
手机百科  知识  软件  修理  测评  微信
软件技术  应用  系统  图像  视频  经验
硬件技术  知识  技术  测评  选购  维修
网络技术  硬件  软件  设置  安全  技术
程序开发  语言  移动  数据  开源  百科
安全防护  资讯  黑客  木马  病毒  移动
站长技术  搜索  SEO  推广  媒体  移动
财经百科  股票  知识  理财  财务  金融
教育考试  育儿  小学  高考  考研  留学
您当前的位置:首页 > IT > 软件 > 操作系统 > linux

Linux下GNU工具集介绍

时间:2019-07-11 10:11:21  来源:  作者:

Linux下的GNU工具集包括GNU Compiler Collection,也就是大名鼎鼎的GCC,还包括GNU Binutils,即GNU的二进制工具集。本节主要介绍GNU的二进制集,对我们在Linux下进行代码的学习、调试非常有用。

readelf:可以显示elf格式可执行文件的信息。elf格式是Unix/Linux平台上应用最广泛的二进制文件之一。

列出elf文件的头信息:readelf -h a.out

Linux下GNU工具集介绍

 

Magic表示幻数,用来指明这个文件是一个elf文件,第一个字节7f是固定的数,45 4c 46分别是elf三个字母的ascii值。

nm:列出目标文件中的符号(函数、变量),常在调试时使用。

用法:nm a.out

size:列出目标文件每一段的大小以及总体的大小。

用法:size a.out

strings:列出目标文件中可打印的字符串。

用法:strings test.o

strip:瘦身,用来丢弃目标文件中的全部或者特定的符号,减小文件体积

strip相当于脱衣服,对于嵌入式系统来说,这个命令必不可少。在strip之后,文件变小了,仍然可以执行,这就就节省了很多空间。strip不仅仅可以针对可执行文件,还能针对目标文件和动态库等。在实际的开发中,经常需要对动态库.so进行strip操作,减少占用空间。而在调试的时候(比如用addr2line),就需要符号了。因此,通常的做法是:strip前的库用来调试,strip后的库用来实际发布,他们两者有对应关系。一旦发布的strip后的库出了问题,就可以找对应的未strip的库来定位。最后啰嗦一句,某某动态库strip前是18M左右,strip后是3M左右,可见,脱脱衣服还是有明显好处的。

用法:strip a.out,注意:strip不要瘦身.o的中间文件,否则会导致无法链接

file:列出文件的信息

objcopy:目标文件格式转换

objcopy -O binary a.out a.bin

objcopy -O binary u-boot u-boot.bin

将elf格式的文件转换为二进制格式。

objdump:主要用来反汇编。

反汇编:把目标代码转为汇编代码的过程,也可以说是把机器语言转换为汇编语言代码、低级转高级的意思,常用于软件破解、外挂技术、病毒分析、逆向工程、软件汉化等领域。在此过程中我们可以领悟到软件作者的编程思想。总之一句话:软件一切神秘的运行机制全在反汇编代码里面。目前网络上的许多“免费软件“都跟反汇编息息相关。

objdump -d a.out 输出到终端

objdump -d a.out > test.dis

反汇编bin格式的文件:

objdump -D -b binary -m arm test.bin > test.dis

addr2line:将程序中的地址对应到文件名和相应的行号,程序运行出错时,通常会返回一个地址,根据这个地址就可以定位到代码出错的位置。通常用于定位内核中的错误。

用法:addr2line 地址 -e a.out -f

注意,要想使用addr2line,要求elf文件在编译的时候必须要添加-g参数。

Linux下GNU工具集介绍

 



Tags:Linux GNU   点击:()  评论:()
声明:本站部分内容来自互联网,如有任何版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▌相关评论
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
▌相关推荐
Linux下的GNU工具集包括GNU Compiler Collection,也就是大名鼎鼎的GCC,还包括GNU Binutils,即GNU的二进制工具集。本节主要介绍GNU的二进制集,对我们在Linux下进行代码的学习、...【详细内容】
2019-07-11   Linux GNU  点击:(4)  评论:(0)  加入收藏
推荐资讯
相关文章
栏目更新
栏目热门