7

私はこのような構造を持っています:

    struct A 
    {
        int a; 
        char b; 
    };

この構造は、大きなコードのさまざまな場所で参照されます。この構造体へのポインターはさまざまな関数に渡され、それに応じてこの構造体の変数が更新されます。この構造体の変数 a にウォッチポイントを設定して、多くの関数を通過させたいと考えています。a がどのように変化するかを確認します。このウォッチポイントを設定するにはどうすればよいですか?

4

2 に答える 2

7

まず、breakを使用して構造体のインスタンスを作成するブレークポイントを設定します。

break myfile.c:9

次に、ウォッチを使用してウォッチポイントを設定します。

watch myStructInstance.a

変数aまたは

watch *0x7ffff75177f0

メモリアドレス用。メモリアドレスは、次のようにprintを使用して簡単に取得できます。

print &myStructInstance.a

これで、変数aまたは指定されたメモリアドレスが変更されるたびに、gdbが壊れます。

于 2012-05-31T11:45:25.040 に答える