1. 程式人生 > 其它 >Binutils工具集簡介

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這樣的工具的庫