c - 如何使用 GDB 修改内存内容?

我知道我们可以使用几个命令来访问和读取内存:例如,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/

相关文章:

linux - 如何从文本文件中删除非 UTF-8 字符

python - 在 Python 中 Ping 服务器

unix - 如何交错来自两个文本文件的行

python - 如何在 Python 中使用方法重载?

python - 如何在 Windows 上使用 Python 3 连接到 MySQL?

python - 为什么这个 Python 代码段中允许使用分号?

linux - 了解 Linux oom-killer 的日志

linux - Linux内核中浮点的使用

python - 如何为子图设置公共(public)轴标签

linux - grep 不作为正则表达式