如何用gdb只改变地址的一个字节

How to change only one byte at address with gdb

我希望能够使用 gdb 仅更改特定地址的一个字节。 set * 命令总是从地址开始更改 4,如果您没有提供全部四个,它将用零填充其余部分(或 ffs,具体取决于签名)。

我使用的语法是set * {address}=0x{bytes}

将地址视为指向 char 类型的指针

(gdb) set {char}address = 0x{bytes}