デバッガーの使い方

C#:
デバッガーの使い方

方法:

想像してみてください、あなたには正しく動作していない小さなプログラムがあります:

static void Main()
{
    int result = Sum(1, 2);
    Console.WriteLine(result);
}

static int Sum(int a, int b)
{
    return a + a; // おっと、ここはa + bであるべきです
}

Visual Studioのデバッガーを使用して、return a + a;の隣にある左マージンをクリックしてブレークポイントを設定します。プログラムを実行するとき(F5キーで)、実行はそこで一時停止します。変数の上にマウスカーソルを置いて値を調べるか、または即時ウィンドウを使用して式を評価してみてください。a が1で、b が2であることがわかりますが、a + aは期待した合計ではありません。それをa + bに変えて、実行を続ける(F5キー)、そして、ほら、コンソールが3を出力します。

ディープダイブ

デバッグの歴史は1940年代まで遡り、初期のコンピューターで本物のバグ(蛾)が発見されたときに始まります。今日のデバッガー、Visual Studioのものと同様、ブレークポイント、ステップバイステップ実行、ウォッチウィンドウなど、強力な機能のスイートを提供します。

Visual Studioのデバッガーに代わるオプションには、Cスタイルの言語用のGDBやPython用のpdbなどのオープンソースオプション、またC#および他の言語のデバッグツールを提供するクロスプラットフォームIDEであるJetBrains RiderやVS Codeが含まれます。

デバッガーの実装に深く飛び込むとき、あなたが見るのは、アプリケーションのプロセスにアタッチするプログラムです。それは機械語を解釈し、メモリ状態を管理し、実行フローを制御します。これは、効果的なデバッグのためには欠かせない重要なものであり、デバッグモードがリリースモードよりも遅く動作する理由でもあります。これらのフックが存在しないからです。

参照