16

iOSアプリを作成していますが、組み込みのXcodeデバッガーの使用についてサポートが必要です。HomeViewController3つのプロパティを持つというオブジェクトがあるとします。

@property (nonatomic) BOOL finished;
@property (nonatomic, strong) NSArray *myArray;
@property (nonatomic, strong) NSString *myName;

@synthesize finished = _finished, myArray = _myArray, myName = _myName;

このクラスにブレークポイントがあるとします。これらのプロパティの内容をどのように表示しますか?などを試しましたがpo myName、どうすればいいのかわかりません。LLDBを使用しようとしましたが、この人が遭遇したのと同じエラーが発生し続けます(lldbは「エラー:'id'への参照があいまいです」で変数値を出力できません)。この質問に対する受け入れられた答えは、LLDBが壊れているので、GDBを使用するだけでよいというものでした。しかし、私はそのような根本的な何かが壊れていることを受け入れることを拒否します。 print myNameprint [self myName]

それでも、上記と同様のコマンドでGDBを使用してみました。ただし、GDBを動作させることもできません。助けてください

4

2 に答える 2

29

ブレークポイントを設定して実行し、プログラムがブレークポイントで停止したら、次のように表示する変数/値にカーソルを合わせます。

ここに画像の説明を入力してください

NSLog(@"%@", yourLabel.text);を配置して、そのラベル/その他のオブジェクトタイプのコンテンツを表示することもできます。

もう1つのオプションは、次のようにコンソールでGDBを実行することです。

gdb
attach <your process name>

次に、po(print-object)コマンドを使用して、次のような変数の値を表示します。

po variableName

プリミティブ型(、、、、、など)の値を表示するには、次のintようにコンソールでGDBを実行しているときにコマンドを使用できます。floatlongdoublecharprint

print yourPrimitiveVariable

お役に立てれば!

編集:

このコマンドを使用すると、プロパティ名( )またはivar名(場合によっては)poの両方を使用してオブジェクトの値を出力できます。私はここでこれを示します:self.myProperty_myProperty

ここに画像の説明を入力してください

于 2012-07-16T23:06:31.310 に答える
3

オブジェクトを印刷するには、デバッグ領域で次の式を試してください。

p self.view.bounds.size.width

または使用、

po self.view

p-印刷は通常/単純な値を印刷するためにのみ使用されますが、po-オブジェクトの印刷はNSLogと同じように機能してオブジェクトの値を印刷します

于 2014-09-11T12:19:45.133 に答える