I am debugging a c program with gdb in linux terminal, I disassembled it and ran it, then tried to find the memory address the the EIP register. This is what happened:

(gdb) i r eip Invalid register `eip'

Why does it say that my eip register is invalid?

有帮助吗?

解决方案

Is it a 64-bit program? If so, it's rip, not eip.

其他提示

Depending on your program's architecture the register can change:

  • 16 bit - ip
  • 32 bit - eip
  • 64 bit - rip
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top