1
当我调试的代码,并发现:为什么跳进不可用的地址(GDB)
0x08048500 <+0>: push %ebp
0x08048501 <+1>: mov %esp,%ebp
...
0x08048563 <+99>: jmp 0x8048567 <Postion+103> <===0x8048567 doesn't exist an instruction.
0x08048565 <+101>: dec %edx
0x08048566 <+102>: cmp %bh,%al
0x08048568 <+104>: test %edx,%esp
Q:为什么 “JMP 0x8048567” 跳进< +103>?它不存在指令。重点是什么?谢谢。
如何获得0x8048565的真实指令? –
* 0x8048565处没有*真正的指令,只有可以解释为十进制,十六进制或浮点数的字节或指令。如果你在'0x8048565'解释字节作为指令,你会得到GDB已经向你显示的'dec%edx'。 –