【问题标题】:Finding address of a local variable in C with GDB使用 GDB 在 C 中查找局部变量的地址
【发布时间】:2012-05-31 14:42:19
【问题描述】:

假设我有一些 C 代码,类似于:

无效乐趣_1(无符号整数*年龄)

[...]

int main() { 无符号整数年龄[24]; }

在GDB中,如何找到年龄的地址?

【问题讨论】:

标签: c gdb


【解决方案1】:

查找地址就这么简单:

p &age

【讨论】:

    【解决方案2】:

    如果您不知道,两个ages 是不一样的。一个在main 本地,另一个在fun_1() 本地。因此,除非您将main 中的age 的地址传递给fun_1(),否则它们将不会具有相同的地址。只需在 main 中设置一个断点,然后查看 age 的地址即可。

    (gdb) break main
    (gdb) p &age
    .....
    (gdb) break fun_1
    (gdb) p &age
    .....
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-18
      • 1970-01-01
      • 2014-12-16
      • 1970-01-01
      • 2018-01-15
      相关资源
      最近更新 更多