C语言再学习-- readelf、objdump、nm使用详解
生活随笔
收集整理的這篇文章主要介紹了
C语言再学习-- readelf、objdump、nm使用详解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在其他文章里,這三個指令用了好多次了,但是沒有真正總結他們的用法,現在來講解一下。
參看:readelf命令
參看:objdump命令
參看:nm命令
常用選項:
(1)使用 readelf?顯示一個或者多個elf格式的目標文件的信息
readelf -h?add.o ?(-h 顯示elf文件開始的文件頭信息)
# readelf -h add.o ELF Header:Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 Class: ELF32Data: 2's complement, little endianVersion: 1 (current)OS/ABI: UNIX - System VABI Version: 0Type: REL (Relocatable file)Machine: Intel 80386Version: 0x1Entry point address: 0x0Start of program headers: 0 (bytes into file)Start of section headers: 252 (bytes into file)Flags: 0x0Size of this header: 52 (bytes)Size of program headers: 0 (bytes)Number of program headers: 0Size of section headers: 40 (bytes)Number of section headers: 11Section header string table index: 8
(2)使用 objdump 查看目標文件或者可執行的目標文件
objdump?-d?add.o ?(-d 從objfile中反匯編那些特定指令機器碼的section。?)
# objdump -d add.o add.o: file format elf32-i386Disassembly of section .text:00000000 <add_int>:0: 55 push %ebp1: 89 e5 mov %esp,%ebp3: 8b 45 0c mov 0xc(%ebp),%eax6: 8b 55 08 mov 0x8(%ebp),%edx9: 01 d0 add %edx,%eaxb: 5d pop %ebpc: c3 ret
(3)使用 nm 顯示二進制目標文件的符號表,包括符號地址、符號類型、符號名等
nm add.o
# nm add.o 00000000 T add_int
總結
以上是生活随笔為你收集整理的C语言再学习-- readelf、objdump、nm使用详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言再学习 -- 时间函数
- 下一篇: 互联网晚报 | 4月08日 星期五 |