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