例如,我想找出哪个内存地址存储值 0xbffff5a0。 gdb可以给我一个一定范围内有这个值的地址列表吗?
最佳答案
简短的回答是肯定的。
GDB 提供了宏语言工具。您可以定义一个宏函数来遍历地址范围,并与提供的值进行比较。这没有经过测试,但宏可能看起来像这样:
define findvalue
set $val=$arg0
set $p=(char *)$arg1
set $e=(char *)$arg2
while ($p < $e)
if ($val == *(int *)$p)
print (int *)$p
end
set $p=$p+1
end
end
关于c - 在gdb中,是否可以找出哪个内存地址具有某个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19204752/