GDB:为什么将同一地址设置为两个不同的地址指针会显示不同的值

时间:2020-03-09 21:48:52

标签: memory remote-debugging kgdb

我将同一地址设置为两个不同的地址指针。在检查那些指针时设置了地址之后,我在一个指针中获得了所需的地址,在另一个指针中获得了操作码。

================
gdb-peda$ set *0xffffffff81a95822=0xffffffff81400a1d    
gdb-peda$ x 0xffffffff81a95822
0xffffffff81a95822 <default_idle+34>:   0xab24258b81400a1d

================
gdb-peda$ set *0xffffffff82603e18=0xffffffff81400a1d
gdb-peda$ x 0xffffffff82603e18
0xffffffff82603e18: 0xffffffff81400a1d

在上面的gdb命令中,您可以看到我设置了

0xffffffff81400a1d

对于 * 0xffffffff82603e18 * 0xffffffff82603e18 ,并且在设置新值后,当我得到 0xffffffff81400a1d (预期)和 0xab24258b81400a1d (某些操作码)。

我还注意到, 0xffffffff81a95822 的原始内容是 0xab24258b44659066 ,并将其设置为新值( 0xffffffff81400a1d )之后,只有较低的8位被更改。

有人可以解释一下这里发生了什么吗?为什么我在同一个地址上得到两个不同的结果?

0 个答案:

没有答案
相关问题