objdump使用方法

2021-10-20 20:14:42 字數 1602 閱讀 3317

objdump -a vmlinux    //列舉.a檔案中所有的目標檔案。

objdump -g vmlinux //顯示除錯資訊。

objdump -t vmlinux //輸出目標檔案的符號表()

objdump -t vmlinux //顯示動態鏈結符號表

objdump -h vmlinux //輸出目標檔案的所有段概括()

objdump -f vmlinux //顯示目標檔案檔案頭

objdump -i vmlinux //顯示行號資訊

objdump -p vmlinux //顯示專有頭部資訊,具體內容取決於檔案格式。

objdump -r vmlinux //顯示檔案的重定位入口

objdump -r vmlinux //顯示動態鏈結重定位資訊。

objdump -s vmlinux //將所有段的內容以十六進製制的方式列印出來

objdump -s vmlinux //顯示源**和反彙編**(包含-d 引數)

objdump -d vmlinux //對包含機器指令的段進行反彙編

objdump -d vmlinux //-d 與 -d 類似,但對所有段進行反彙編

objdump -x vmlinux // 顯示所有可用的頭資訊,包括符號表、重定位入口。-x 等價於

// -a -f -h -r -t 同時指定。

1. 在編譯時必須使用-g選項,-g意為debug,一般可以修改源**的 makefile來實現 如: 

cc =$(crosscom_pile)gcc 為

cc =$(crosscom_pile)gcc -g

使成生的vmlinux中含有debug資訊

2. 所有生成 .o 的 rule 中再加一條 /*其他引數除了-c外抄生成.o檔案用的引數*/

cc -e -dd -c $< > /preprocessing/$(shell pwd)/$<

生成預處理檔案從這個檔案裡面能很容易找到 c 原始檔的巨集定義

3. objdump -h vmlinux > vmlinux.dump

顯示 linux 核心段資訊,如段的開始虛擬位址,段的長度

4. objdump -s -l -z vmlinux > vmlinux.dump

反彙編 vmlinux 到vmlinux.txt, vmlinux.dump 含有彙編和 c 原始檔的混合**,看起來很方

便。而且能一步步看linux怎麼一步步執行的。

5. objdump -s -l -z -j ***x(section name) vmlinux > vmlinux.dump

反彙編 linux 核心段 ***x 到檔案 vmlinux.dump 中。

6. objdump -x vmlinux > x.dump

vmliux中所有段的頭資訊,其中包口vmlinux的入口位址等

7. objdump --debugging vmlinux > debugging.dump

很多有用的debug資訊,如函式名,結構體定義等

Linux下objdump使用方法

linux下objdump命令常見用法舉例 objdump x obj 以某種分類資訊的形式把目標檔案的資料組成輸出 可查到該檔案的的所有動態庫 objdump t obj 輸出目標檔案的符號表 objdump h obj 輸出目標檔案的所有段概括 objdump j text data s obj...

objdump命令的使用

objdump命令的使用 objdump命令是linux下的反彙編目標檔案或者可執行檔案的命令,它還有其他作用,下面以elf格式可執行檔案test為例詳細介紹 objdump f test 顯示test的檔案頭資訊 objdump d test 反彙編test中的需要執行指令的那些section o...

objdump命令的使用

objdump命令的使用 objdump命令是linux下的反彙編目標檔案或者可執行檔案的命令,它還有其他作用,下面以elf格式可執行檔案test為例詳細介紹 objdump f test 顯示test的檔案頭資訊 objdump d test 反彙編test中的需要執行指令的那些section o...