我知道我们可以使用几个命令来访问和读取内存:例如,print、p、x...
但是我怎样才能改变任何特定位置的内存内容(在 GDB 中调试时)?
最佳答案
最简单的方法是设置程序变量(参见 GDB: assignment):
(gdb) l
6 {
7 int i;
8 struct file *f, *ftmp;
9
(gdb) set variable i = 10
(gdb) p i
$1 = 10
或者您可以通过地址更新任意(可写)位置:
(gdb) set {int}0x83040 = 4
还有更多。阅读 the manual .
https://stackoverflow.com/questions/3305164/