2011-11-12 17 views
0

私はobjdump -d a.outを使用して以下を取得しました。最初は最初の列(たとえば080482b4)がバイトオフセットであると仮定しましたが、ファイルが7190バイトだけであることがわかりました。objdump出力の最初の列の意味は何ですか?

a.out:  file format elf32-i386 


Disassembly of section .init: 

080482b4 <_init>: 
80482b4: 53      push %ebx 
80482b5: 83 ec 08    sub $0x8,%esp 
80482b8: e8 00 00 00 00   call 80482bd <_init+0x9> 
80482bd: 5b      pop %ebx 
80482be: 81 c3 37 1d 00 00  add $0x1d37,%ebx 
80482c4: 8b 83 fc ff ff ff  mov -0x4(%ebx),%eax 
80482ca: 85 c0     test %eax,%eax 
80482cc: 74 05     je  80482d3 <_init+0x1f> 
80482ce: e8 3d 00 00 00   call 8048310 <[email protected]> 
80482d3: e8 e8 00 00 00   call 80483c0 <frame_dummy> 
80482d8: e8 b3 01 00 00   call 8048490 <__do_global_ctors_aux> 
80482dd: 83 c4 08    add $0x8,%esp 
80482e0: 5b      pop %ebx 
80482e1: c3      ret  

答えて

4

実行中のイメージにコードが配置される仮想アドレスを示します。

(慣例により、code in Linux x86 ELF binaries typically starts at 0x08048000

+0

Ohk。ありがとう。とにかくファイルのオフセットを知っていますか? – AppleGrew

+0

はい: 'objdump -h'は各セクションの仮想メモリアドレス(VMA)とファイルオフセットを表示します。 –

関連する問題