0

我在玩GDBx/<op> $var查看当前值的命令对吗?我没有意识到x/d $rbx在以下命令序列中导致值从 28 变为 -5604 的原因是什么,因为我没有使用任何新步骤stepi或任何东西。有吗?

(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
4

1 回答 1

0

我不知道是什么导致 x/d $rbx 的值从 28 变为 -5604

内存中地址的值0x7fffffffe718没有改变

改变的是 GDB 默认检查的字节数。

于 2013-05-03T22:31:27.117 回答