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...