2009-06-24 2 views
18

私はXcodeで変数を見ようとしています。私はhereの指示に従って、ブレークポイントで一時停止し、実行>変数ビュー> ....を選択しますが、「データフォーマッタを有効にする」を除いて、残りのオプションはすべてグレー表示されています。何か案は?Xcodeの変数を見る

私はXcodeバージョン3.1.3を使用しています。

+1

ブレークポイントにヒットしたら、ブレークポイントにマウスを置くと変数情報が表示されます。 – zpesk

+0

最適化をオフにしてデバッグビルドを実行していますか? – Dolphin

+0

リリースの代わりにデバッグビルドを試みましたが、問題は解決しません。 – Stu

答えて

19

残念ながら、[実行]メニューから作成したウォッチポイントを使用しても問題はありません。注意すべき点の1つは、変数が有効範​​囲外になると、ウォッチポイントが無効になる可能性があるということです。

もう少し詳しく知りたい場合は、低レベルのgdbコマンドを使用して、メモリ自体のアドレスのウォッチポイントを設定することができます。たとえば、リンク先のガイドでは、値0xbfffeb70のポインタである変数pathを見る方法を示しています。手動でそのアドレスのウォッチポイントを設定するには、後に(デバッグ出力が印刷された)デバッガコンソール「(GDB)」プロンプトでクリックして、このような何かを入力:不可解な構文が必要です

watch *((int*)0xbfffeb70) 

をgdbの理由入力はCの式として期待されます。もう少し詳しくは、visit this linkを参照し、というセクションの「ハードウェアウォッチポイントの使用」にジャンプしてください。 (私はIntelマシンでテストしていますが、PowerPCの処理方法はわかりません)このようにウォッチポイントを設定すると、Xcodeはウォッチポイントに達したときにドロップダウンシートを表示し、値がどのように変更されたかを伝えます。 gdbはコンソールに同じ情報を表示します。

+2

C++メソッドのメンバを見たい場合、私はこの変種が非常に有用であることを発見しました: 'watch -location mTextFormatted'。静的対動的キャストに関連する厄介なバグを明らかにしました;) –

+2

lldbの代替案は、 'watchpoint set expression-0xbfffeb70'または' w s e-0xbfffeb70'です。 –

7

私はこの問題に直面しました。変数名を右クリックし、表示されるメニューから「ウィンドウ内の変数を表示」を選択します。それは底の近くにあるはずです。

2

ここでは、gdbコンパイラを使用している場合にのみ回答が有効です。 lldbコンパイラでウォッチポイントを設定するオプションを探している人にとって、私は悪いニュースを持っています。lldbドキュメントでは可能ですが、Jet(XCode 4.3.2 with lldb 3.1)は動作しません。

チェックアウトthisメール。 gdb Sに比べlldbのコマンドは、私はXCodeの5でこれを理解しようとしていたhere

+0

'wa s e - '私のために働いた、例えば: 'wa s e - 0xbfffeb70' –

1

を見つけることができます私は最終的に出力コンソールの右下のボタンを「変数ビュー」を発見しました。左の灰色になる小さな四角形です。有効にしていない場合は右側の白です。私はこれがXCode 3にあるかどうか分からないが、とにかくほとんどの人がアップグレードしたと思う。

2

ブレークポイントを追加します。右のデバッグ領域の監視リストでクリックして、選択した「という表現を追加...」

enter image description here

をあなたが別のメニューを取得している場合は、何もしないように、現在ハイライト表示され、変数のオフにクリックする必要があります右クリックすると強調表示されます。

関連する問題