说我有一些C代码:
void fun_1(unsigned int *age)
[...]
int main() { unsigned int age[24]; }
在GDB中,我如何找到年龄的地址?
答案 0 :(得分:9)
查找地址非常简单:
p &age
答案 1 :(得分:6)
如果你不知道,age
两个都不一样。一个在main
中是本地的,另一个在fun_1()
的本地。因此,除非您将age
中main
的地址传递给fun_1()
,否则他们将不会拥有相同的地址。只需在main中设置一个断点并查看年龄的地址。
(gdb) break main
(gdb) p &age
.....
(gdb) break fun_1
(gdb) p &age
.....