Binutils工具集简介

如果使用GCC编译器,那么还有一个非常重要的、同样来自于GNU的工具集(toolchain) —— binutils toolchain。这一工具集中存在的一些工具,可以说是我们开发和调试不可缺少的利器。 Binutils中的工具不少和GCC相类似,也是针对特定的处理器的。

 

addr2line 将程序地址翻译成文件名和行号;给定地址和可执行文件名称,它使用其中的调试信息判断与此地址有关联的源文件和行号
ar 创建、修改和提取归档
as

一个汇编器,将汇编文件输出为目标文件(.s->.o)

c++filt 被链接器用于修复 C++ 和 Java 符号,防止重载的函数相互冲突
elfedit 更新elf文件的elf头
gprof 显示分析数据的调用图表
ld 链接器,讲几个对象文件和归档文件组合成一个文件,重新定位它们的数据并且捆绑符号索引
ld.bfd 到ld的硬链接
nm 列出给定对象文件中的符号及符号在内存中的(开始)地址(函数名、变量名)
objcopy 可以从程序文件中拷贝出我们指定的段
objdump 显示程序文件相关信息和对程序文件反汇编
ranlib 创建一个归档的内容索引并存储在归档内;索引列出其成员中可重定位的对象文件定义的所有符号
readelf 显示有关elf二进制文件的信息,readelf -h *.exe进行查看
size 列出给定程序文件中各段的大小
strings 显示程序文件中的可显示字符串
strip 移除对象的调试信息(符号等),文件瘦身
libiberty 包含多个 GNU 程序会使用的途径,包括 getopt、obstack、strerror、strtol 和 strtoul
libbfd 二进制文件描述器库
libopcode 用于处理 opcodes——处理器指令的 “可读文本” 版本或用于编制 objdump 这样的工具的库
posted @   仓隽  阅读(314)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
点击右上角即可分享
微信分享提示