Xcode Debugging with Breakpoint (for Beginners)
10月 8, 2016 – 4 min read
生涯学習者として、エラーを起こすことは学習プロセスの一部であると理解されています。 プログラミングでは、これらの厄介なものは🐞(バグ)として知られています。 771>
私は、Xcode 内の初心者レベルのデバッグについて、また、ブレークポイント デバッグ ツールおよびその機能のいくつかに慣れる方法について、いくつか調査するのが良い考えだと思いました。
ブレークポイントとは、プログラムの実行をある時点まで一時停止することができるデバッグ ツールのことです。
コード内に「一時停止」ポイントを作成すると、バグが発生する場所を確認するためにコードを調査するのに役立ちます。
ブレークポイントはどのように作成すればよいのでしょうか。 コードの実行を一時停止したい場所を決め、左の溝をクリックして、青いブレークポイントを作成します。
私たちが「デバッグ領域」と呼ぶすばらしいものを見てみましょう。”
上のスクリーンショットで何が起こっているのでしょうか。
私は、BOTH が偶数の場合に 2 つの整数を合計する関数 findSumOfEvens() を作成しました。 24 行目で findSumOfEvens(n1: 2, n2: 4) 関数を呼び出した後、25 行目でブレークポイントを設定しました。 関数は 25 行目で一時停止されたので、2 回目の findSumOfEvens(n1: 1, n2: 6) の呼び出しはまだ呼び出されていません。
Xcode のデバッグ ボタン/エリアにもいくつか注釈を付けておきました。 注:
- Continue / Pause = (キーボード ショートカットは ⌃ + ⌘ + Y)
そしてこれらの実行制御ボタンです。
- Step Over = (キーボード ショートカットは F6)
- Step Into = (キーボード ショートカットは F7)
- Step Out = (キーボード ショートカットは F8)
プロジェクトを実行したら、コンソールには「The sum of your even numbers is 6」と出力されました。”
次に、「ステップ オーバー」ボタンをクリックして、コードの次の行 (ブレークポイントを置いた場所である 25 行目) を実行しました。
上記で、私がコードの次の行を「ステップオーバー」し、実際にそれを実行したことがわかりますが、私のコンソールには “Both of your numbers need to be even.” と出力されています。 もう一度やり直してください。」
ブレークポイントを解除するにはどうすればよいですか。
削除するには、ブレークポイントを右クリックします:
待って、この (lldb) メッセージ、何についてのものでしょうか?
LLDB は “low level debugger” の略で、iOS アプリケーションを開発するための基礎となるデバッグ環境を提供します。 771>
ブレークポイントと LLDB はどのように関係していますか。
LLDB にショートカット コマンドを入力すると、コードの特定の行にブレークポイントを設定する、コード内の多くの点にブレークポイントを設定する、すべてのブレークポイントをリストする、およびブレークポイントを無効にするのに使用できます。
上記で、LLDB で “selector” (手法名)を入力して、複数のブレークポイントを設定できることがお分かりいただけるかと思います。 これは、多数のファイルがあり、ブレークポイントを設定するためにすべてのファイルをクリックしたくない場合に特に便利です。
上記で、プロジェクト内のブレークポイントをすべて “list” できることも確認できました。
About the detailed list information printed to the console, which includes the “hit count” which shows how many times I got a certain breakpoint.
上記で、私は “disable” ですべてのブレークポイントを無効にしています。 もし、2番目のブレークポイントだけを無効にしたい場合は、”breakpoint disable 2 “と入力します。swift – – line 16”
Above, I set a breakpoint at a specific location in my code: my ViewController.swift file at line 16.上記で、私は自分のコードの特定の場所、すなわち、私の ViewController.swift ファイルの 16 行目でブレークポイントを設定しました。
LLDB ブレークポイント コマンドを要約すると、次のようになります。
- breakpoint set
- breakpoint list
- breakpoint disable
私のプロジェクトがクラッシュしたら、停止ボタンをクリックしてアプリケーションを実行停止するべきではありませんか。
私が調べたところでは、アプリを停止 (◾) ️ すると、Xcode が問題を解決するために我々 (開発者) に提供しようとしている貴重なデバッグ情報を取り除いてしまうようです。 私は、ブレークポイントや実行コントロール ボタンを使用して、どこでエラーが発生しているかを確認するために、自分のコードをより良くステップスルーすることを始めます。
Embrace the bugs as an opportunity for you to learn.
May the bugs ever be in your favor.