2012-02-18 18 views
7

Linux terminalinde gdb içeren bir c programında hata ayıklama yapıyorum, onu demonte ettim ve çalıştırdım, ardından bellek adresini EIP kaydına bulmaya çalıştım.Geçersiz kayıt eip?

(gdb) i eip Geçersiz kayıt `eip'

Neden benim eip kaydı geçersiz olduğunu yazıyor r: Bu böyle oldu?

+0

o 64-bit programı mı ? Eğer öyleyse, rip değil, eip değil. –

+0

Evet, teşekkürler, farklı isimler olduklarını bilmiyordum. – jay

+0

Cool, cevap olarak. –

cevap

16

Bu 64 bit program mı? Eğer öyleyse, rip değil, eip değil.

+2

'gdb'' $ pc' kullanarak program sayacına başvurmanızı sağlar. Bu hem 32 hem de 64 bit ve diğer mimarilerde de çalışacaktır. – Jester

1

programınızın mimarisine bağlı olarak kayıt değiştirebilirsiniz:

  • 16 bit - ip
  • 32 bit - eip
  • 64 bit - rip