5

gdbを使用してコードをデバッグしようとしていますが、可変色を監視しようとすると、次のように表示されます。

No symbol "color" in current context.

変数はintであり、明らかにスコープ内にあります。コードは次のとおりです

int color=0;

if(color==0)
  color=1;

そして、私のデバッガーには変数の宣言が渡されます。

if(color == 0)にブレークポイントを設定して実行しているだけです

(gdb) watch color

コンパイラか何かが疑われるかもしれませんが、それは可能ですか?

編集:GDBを使用したコンストラクターでのデバッグにいくつかの問題があります

4

1 に答える 1

3

-gコードをコンパイルするときに、フラグを gcc に渡していることを確認する必要があります。-O0また、コンパイラが変数を最適化していないことを確認するために渡す必要があります。

于 2010-09-22T15:14:05.010 に答える