iOSが-lldbブレークポイントのデバッグを学習リバース

ブレークポイントデバッグlldb

LldbのXcodeはデバッグモード、大文字と小文字を区別する方法に入ります

ブレークポイント

方法-n設定したブレークポイント
メソッドまたは関数のブレークポイント
の名前を示し-n
メソッドは、メソッドまたは関数を表します。

缩写:b -r method

関数について

void *test1() {
}

test1の-nブレークポイントセット

缩写 b -n test1

この方法の場合

- (void)save:(NSString*)name {
//.....
}
- (void)pause:(NSString*)name {
//.....
}
breakpoint set -n "[ViewController save:]" -n "[ViewController pause:]"
缩写:b set -n "[ViewController save:]" -n "[ViewController pause:]"

この方法のいずれについて

ブレークポイントセット--selector touchesBegan:withEvent:
このメソッドブレークポイントのすべてのtouchesBegan:withEvent:メソッド、クラスにかかわらず

このファイルのための方法は、

ブレークポイントセット--file ViewController.m --selector touchesBegan:withEvent :
のみ現在ViewController.mファイルとブレークポイントでこの方法を探します

トラバーサルブレーク

ブレークポイントは、-rゲームを設定します。
すべてのゲームとのプロジェクトを横断:方法フィールド

ビューのブレークポイント

ブレークポイントのリストは、
設定されているすべてのブレークポイントを取得することができ
、グループ1は1.1、1.2を含むことができます。

缩写 break list

終了lldbモード

C引き続き
継続する意味

nは、次の
ステップ

切り替えのポイント

1つの有効ブレークポイント
1を無効にブレークポイントを

グループ1は、ブレークポイントのリストによって得られた、ブレークポイント、ブレイクポイントまたは単一の1.1を表します

缩写 break dis 1
缩写 break en 1

ブレークポイントを削除します。

1を削除するブレークポイント
すべてのブレークポイントをクリアし、グループが通過しない場合は
、削除ブレークポイント
のみ指定されたグループを削除し
、あなたが1.1を削除すると、コマンドを無効にし、無効になっています

ビュー命令

ヘルプブレークポイントは
、すべてのブレークポイント命令を参照してください。

bを助ける
あなたはBの効果を見ることができます

全部缩写方法可以自己尝试

コードの実行

表現

表現の自己

缩写 p self
使用 p object会获取一个对象
$0 = 地址
然后我们可以通过p $0.property来打印该对象的属性
相当于使用了一个局部变量$0接收该对象的地址,或者该值。
联想block中的对象拷贝和值拷贝

変数のコードの実行を作成します。

p Person *p4 = [Person new]; このとき、Altキーを押しながら+ EnterキーのいずれかP4を作成するためのコードを書きます

スタックビュー

BT

使用するbt現在のスタック情報を表示します。関数呼び出しスタック

上下

することによりup down、スタックを見ることができます

固定フレームの値をチェックしてください

frame select 1指示、フレーム選択ビュー
アセンブリコードの表示指示であります

ビューフレーム変数パラメータ

あなたは、フレームのパラメータを表示することができます

ロールバックコマンドスレッド復帰

スレッドのロールバック、前のステップにロールバックしますが、理由は復帰のため、実行されません。

ブレークポイントのメモリ

リスナーの価値の変動

watchpoint set variable p1.name

ウォッチポイント命令ブレークポイント、DIS、EN、delelteコマンドを持っています

プロパティの名前がP1を変更すると、ブレークポイントはなります
2つの値を与えます

old value : address1
new value : address2

あなたはエグゼクティブPOによってアドレスの値を見ることができます

住所を取ります

p &obj.name 这种写法错误,点语法不对
p &obj->_name  只能访问成员变量来获取地址

ブレークポイントコマンド

必要に応じて、ブレークポイントは命令複数のコマンドをブレークポイントまでとき、私たちは事前にブレークポイントコマンドを追加することができます

breakpoint command add 1

> po self
> p self.view
> DONE

従って、ブレークポイントがトリガされると、自動的に2つのPOおよびpブレークポイント命令を実行します。

同じコマンドでもコールを表示し、リストを削除することができます

ターゲット

目標停止フック

target stop-hook add -o "frame variable"

彼らは関係なく、生きるためにどの方法あなたを、変数命令のフレームを呼び出していないということ、各ブレークポイントを意味することは、パラメータリストを印刷します

ターゲットストップフックリストの
削除目標停止フック
目標停止フックを無効
目標停止フックenalbeを

だから、リストdeleteコマンドを持っています。

停止フックを設定

一般的ではない、一時停止、フックコール、通常設定されています。lldbは、初期化ファイルを持っています

cd ~
ls
ls -a
//查找到.lldbinit文件,即为初始化文件,vim操作该文件即可。
vim .lldbinit
cat .lldbinit
target stop-hook add -o "frame variable"

一般的な指示画像

配列の境界

  1. BTコールスタックを表示
  2. 画像検索-aアドレス

ファイル情報の表示

画像検索-tファイル名

ビューのDLL

画像リスト

表示メモリ値

メモリはaddressValueを読みます

おすすめ

転載: blog.csdn.net/shengpeng3344/article/details/91906267