-2

デバッガーを使用してプログラムの実行をいつでも一時停止し、実行中のコードの状態を表示しているため、実行可能ファイルを実行する前にブレークポイントを設定して、既知のポイントで停止し、ソース コード内の変数の値を表示できるようにしています。 .

ブレークポイントを設定し、ステップ オーバーを確認する

コードを表示すると、新しい画面が 1 つ表示されます。ここで「ステップオーバー」ボタンを押すと、次の行が表示されることを意味し、「プログラムの実行を続行」ボタンを押すと、ステップバイステップの実行をスキップして実行部分に来ることを意味します。以下に画像を示します。

新しい画面にアセンブリ言語が表示されます

私の疑問は、なぜ私のコードを見た後にコンパイラがここに来るのですか? このアセンブリ言語のコーディングを分析する方法と、このコードの目的は何ですか?

4

2 に答える 2

1

コードが例外をキャストし、 [UIViewController loadViewIfRequired] メソッドに戻る可能性があります。このメソッドはコンパイルされたプログラムにあり、現在はバイナリであるため、ソース コードは表示されず、代わりにアセンブリ言語が表示されます。

[UIViewController loadViewIfRequired] に例外処理コードが含まれている可能性があります。

于 2013-08-28T03:31:23.240 に答える
1

実行を一時停止するか、ブレークポイントがトリガーされると、デバッグ領域が開き、変数とレジスタの値とデバッグ コンソールが表示されます。デバッグ領域ツールバーの右端にあるボタンを使用して、変数コンソールペインの両方を表示したり、いずれかを非表示にしたりできます。

変数ペインには、変数とレジスタが表示されます。変数ペインの左上隅にあるポップアップ メニューを使用して、表示する項目を指定します。

  1. Auto は、現在のコンテキストを考慮して、最も関心のある変数のみを表示します。
  2. Local は、ローカル変数を表示します。
  3. All は、すべての変数とレジスタを表示します。

検索フィールドを使用して、変数ペインに表示されるアイテムをフィルタリングします。

コンソール ペインにはプログラムの出力が表示され、デバッガー ツールにコマンドを入力できます。コンソール ペインの左上隅にあるポップアップ メニューを使用して、コンソールに表示される出力の種類を指定します。

  1. すべての出力には、ターゲットとデバッガーの出力が表示されます。
  2. デバッガ出力には、デバッガ出力のみが表示されます。
  3. ターゲット出力には、ターゲット出力のみが表示されます。

これらを使用して、ブレーク ポイントで何が起こっているかを理解します。

于 2013-08-28T03:22:11.577 に答える