是否可以在 GDB 中修改没有符号表的可执行文件中的变量?

Is it possible to modify variables in an executable without symbol tables in GDB?

有人告诉我这是可能的,但似乎每次尝试都会不断收到错误提示 "No symbol tables have been loaded." 我是被骗了,还是真的可能?

假设变量的地址是0x7fffffffe51c,它的类型是int,下面是你在GDB中的做法:

(gdb) set {int}0x7fffffffe51c = 11
(gdb) p *0x7fffffffe51c
 = 11

要查找局部变量,请参阅 “How to read local variables with gdb?”。