10

次のような C コードがあるとします。

void fun_1(unsigned int *age)

[...]

int main() {

    unsigned int age[24];
}

GDBでは、年齢のアドレスを見つけるにはどうすればよいですか?

4

2 に答える 2

14

住所の検索は次のように簡単です。

p &age
于 2012-05-31T14:52:00.173 に答える
7

ageあなたが気づいていない場合、両方の s は同じではありません。1 つは にローカルでmain、もう1 つは にローカルfun_1()です。したがって、 のアドレスをageに渡さない限り、同じアドレスを持つことはありませんmainfun_1()main にブレークポイントを設定して age のアドレスを確認するだけです。

(gdb) break main
(gdb) p &age
.....
(gdb) break fun_1
(gdb) p &age
.....
于 2012-05-31T14:53:09.037 に答える