0
我在玩GDB
。 x/<op> $var
是查看当前值的命令吗?我不知道是什么导致x/d $rbx
的值从28变为-5604的命令顺序,因为我没有采取任何新的步骤使用stepi
或任何东西。任何iea?我在哪里更改了寄存器变量值?
(gdb) x/s $rbx
0x7fffffffe718: "\034\352\377\377\377\177"
(gdb) x/d $rbx
0x7fffffffe718: 28
(gdb) x/s $rbx
0x7fffffffe718: "\034\352\377\377\377\177"
(gdb) x/1ws $rbx
0x7fffffffe718: U"\xffffea1c翿"
(gdb) x/1wd $rbx
0x7fffffffe718: -5604
(gdb) x/d $rbx
0x7fffffffe718: -5604
(gdb) x/s $rbx
0x7fffffffe718: "\034\352\377\377\377\177"
(gdb) x/d $rbx
0x7fffffffe718: 28
在我看来像gbd首先设置为一个字节单位大小(0x1c是十进制28)。然后,当您将其更改为字(4字节)大小时,它将使用整数值0xffffea1c,即当打印为带符号的十进制数时,它的值为-5604。 – Michael 2013-05-03 09:52:38