SORU
14 Aralık 2009, PAZARTESİ


Geçerli derleme yönergesi Haritayı gdb içinde

Gdb montaj düzey bazı hata ayıklama yapıyorum. Bir şekilde bana geçerli bir kaynak satırı gösterir aynı şekilde geçerli derleme yönergesi göstermek için gdb almak için var mı? Her komuttan sonra varsayılan çıkış bu gibi görünüyor:

0x0001433f      990         Foo::bar(p);

Bu bana geçerli yönergenin adresi verir, ama şu anda yürütülen olduğumu görmek için geri disassemble çıkış yönlendirme tutmak zorundayım.

CEVAP
6 Ocak 2010, ÇARŞAMBA


Gdb içinde: akış düzeni geçebilirsiniz

(gdb) layout asm

Daha fazla bilgi için here bkz.
Geçerli derleme yönergesi çevirici penceresinde gösterilecek.

   ┌───────────────────────────────────────────────────────────────────────────┐
   │0x7ffff740d756 <__libc_start_main 214>  mov    0x39670b(%rip),%rax        #│
   │0x7ffff740d75d <__libc_start_main 221>  mov    0x8(%rsp),%rsi              │
   │0x7ffff740d762 <__libc_start_main 226>  mov    0x14(%rsp),i             │
   │0x7ffff740d766 <__libc_start_main 230>  mov    (%rax),%rdx                 │
   │0x7ffff740d769 <__libc_start_main 233>  callq  *0x18(%rsp)                 │
  >│0x7ffff740d76d <__libc_start_main 237>  mov    x,i                   │
   │0x7ffff740d76f <__libc_start_main 239>  callq  0x7ffff7427970 <exit>       │
   │0x7ffff740d774 <__libc_start_main 244>  xor    x,x                   │
   │0x7ffff740d776 <__libc_start_main 246>  jmpq   0x7ffff740d6b9 <__libc_start│
   │0x7ffff740d77b <__libc_start_main 251>  mov    0x39ca2e(%rip),%rax        #│
   │0x7ffff740d782 <__libc_start_main 258>  ror    $0x11,%rax                  │
   │0x7ffff740d786 <__libc_start_main 262>  xor    %fs:0x30,%rax               │
   │0x7ffff740d78f <__libc_start_main 271>  callq  *%rax                       │
   └───────────────────────────────────────────────────────────────────────────┘
multi-thre process 3718 In: __libc_start_main     Line: ??   PC: 0x7ffff740d76d 
#3  0x00007ffff7466eb5 in _IO_do_write () from /lib/x86_64-linux-gnu/libc.so.6
#4  0x00007ffff74671ff in _IO_file_overflow ()
   from /lib/x86_64-linux-gnu/libc.so.6
#5  0x0000000000408756 in ?? ()
#6  0x0000000000403980 in ?? ()
#7  0x00007ffff740d76d in __libc_start_main ()
   from /lib/x86_64-linux-gnu/libc.so.6
(gdb) 

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BioHunta

    BioHunta

    28 Mayıs 2006
  • BrandonHarrisWalker

    BrandonHarri

    27 Kasım 2006
  • KoreanFrogMania님의 채널

    KoreanFrogMa

    18 Aralık 2011