20

Xcodeで変数の変更やメモリの変更を追跡する方法はありますか? Visual Studio のデータ ブレークポイントのような機能を探しています。

オブジェクトのビュー フレームが変更されている場所を知りたいです。メンバ変数にブレークポイントを設定して実行したい。その後、どこが変更されたかを特定できました。

4

4 に答える 4

21

Xcode はgdb(またはlldb、それはまた別の話です) を使用してデバッグ機能を実装します。gdbXcode にはハードウェア ウォッチポイントを設定する機能があり、Xcode にもその機能があります。

これは、メモリ エラーの一般的なデバッグに役立つページです。Xcode のデバッグ コンソール ウィンドウは、実際には単なるgdbシェルであり、必要に応じてコマンドを入力できます。いつもお世話になっている Quinn Taylor が、この関連記事でその方法を説明しています。

直接操作したくない場合はgdb、Xcode のデバッグ ウィンドウで変数を右クリックし、[変数を監視] を選択します。Xcode は、変数の値が変更されるたびにアラートを出します。

于 2011-01-27T02:33:56.743 に答える
13

ハードウェア ウォッチポイントを使用できます。


追跡したい変数のアドレスを取得する必要があります ( p &my_vargdb プロンプトに入力します)。

のようなものが出力されます0x12345678

  • gdb の場合: type watch *(int *)0x12345678.

  • lldb の場合: watch set expression (int *)0x12345678(またはw s e (int *)0x12345678)

これは、変数がint. このアドレスにハードウェア ウォッチポイントが作成されます。


お役に立てれば。

于 2013-04-03T09:30:39.803 に答える
1

はい。

[実行] メニューの下に、gdb に視覚的なフロントエンドを提供する「デバッガー」があります。

また、[ビルドして実行] ボタンの横にブレークポイント ボタンがあります。それをクリックして、[実行] > [ブレークポイントの管理] でブレークポイントを管理できます。

于 2011-01-26T03:33:19.787 に答える