我知道我们可以使用几个命令来访问和读取内存:例如 print、p、x...
但是如何更改任何特定位置的内存内容(在 GDB 中调试时)?
最简单的是设置程序变量(参见GDB:分配 http://sourceware.org/gdb/current/onlinedocs/gdb/Assignment.html#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
还有更多。读手册 http://sourceware.org/gdb/current/onlinedocs/gdb/.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)