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 这样的工具的库 |

浙公网安备 33010602011771号