コードのデバッグに対するコード デバッガーのアプローチを確認する
- 5 分
すべての開発者はコードのバグに対処する必要があります。これは開発者にとって生活の一部に過ぎません。 ときには、バグをすぐに検出できることもあります。 結局のところ、コードを書いたのは自分であり、そうでなくとも、問題をすばやく見つけて修正するのは気分がいいものです。 ただし、簡単には見つからないバグにぶつかることは避けられません。
コードのデバッグ プロセス
コードにバグがあることに気づいたときは、直接的な方法を試したくなることがあります。 ご存知のように、問題があると思った場所に簡単に目を通すことです。 最初の 30 秒で成果があればすばらしいことですが、夢中にならないでください。 次のスポット、その次へと進み続けないでください。 次のような方法で時間を無駄にしないでください。
- 今度こそ問題が明らかになることを期待して、コードを (もう 1 度だけ) 読み通す。
- アプリの進行状況を追跡するために、コード内に複数の
Console.WriteLine("here")メッセージを埋め込む。 - 別のデータを使ってアプリを再実行する。 何かがうまくいくかがわかれば、何がうまくいかないかがわかるようになるでしょう。
こうした方法でさまざまな程度の成功を収めたかもしれませんが、だまされないでください。 もっと良い方法があります。
一般に最も成功すると考えられているのは、デバッガーを使う方法です。 しかし、デバッガーとは一体何でしょうか。
デバッガーは、分析的アプローチでプログラムの実行フローを監視および制御するために使用されるソフトウェア ツールです。 デバッガーは、バグの原因を切り分け、解決するのに役立ちます。 デバッガーは、2 つの方法のいずれかを使ってコードに接続します。
- プログラムを独自の実行プロセスでホストする。
- 実行中のプログラムにアタッチされた別のプロセスとして実行する。
デバッガーにはさまざまな種類があります。 コマンド ラインから直接動作するものもあれば、グラフィカル ユーザー インターフェイスを備えているものもあります。 Visual Studio Code では、デバッガー ツールがユーザー インターフェイスに統合されています。
デバッガーを使用する理由
デバッガーを使用してコードを実行していない場合は、実行時にアプリケーション内で何が起こっているかをおそらく推測することになります。 デバッガーを使用する主な利点は、プログラムの実行を "ウォッチ" できることです。 プログラムの実行を、一度に 1 コード行ずつ追跡できます。 この方法により、間違った推測の可能性を最小限に抑えることができます。
Visual Studio Code はコード デバッガーをサポートしており、実行中のコードを観察することができます。 次の画像は、実行中のアプリケーションを示しています。強調表示されているコード行で実行が一時停止されています。 画面の右側にはプログラム コード、左側には変数の現在の状態が表示されます。
すべてのデバッガーには独自の機能セットがあります。 デバッガーのほとんどすべてに付属する最も重要な機能は次の 2 つです。
プログラム実行の制御。 プログラムを一時停止し、ステップ バイ ステップで実行すると、実行されているコードと、それがプログラムの状態にどのように影響するかを確認できます。
プログラムの状態の監視。 たとえば、コード実行中の任意のポイントで変数と関数のパラメーターの値を確認できます。
コード デバッガーの使い方をマスターすることは重要なスキルです。 残念ながら、これは開発者が見落としがちなスキルです。 デバッガーを効果的に使うことで、コードのバグをより効率的に見つけることができます。 また、デバッガーは、プログラムがどのように動作するかを理解するのにも役立ちます。
要点
このユニットで覚えておく必要があるいくつかの重要な点を次に示します。
- コード デバッグは、ソフトウェア開発プロセスにおいて、開発者なら誰もが学ぶべき重要なスキルです。
- アプリケーションをデバッグする最適な方法は、デバッガーを使うことです。コードを 5 回再読み込みしたり、コード全体に
console.WriteLine()ステートメントを追加したりすることではありません。 - デバッガーを使うと、アプリケーションを一時停止する、コードを一行ずつステップ実行する、変数や関数のパラメーターの状態を観察することができます。