是否可以在 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?”。
有人告诉我这是可能的,但似乎每次尝试都会不断收到错误提示 "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?”。