クイック スタート: Visual Studio デバッガーを使用して C# または Visual Basic でデバッグする

Visual Studio デバッガーには、アプリのデバッグに役立つ強力な機能が多数用意されています。 この記事では、基本的な機能の一部について簡単に説明します。

新しいプロジェクトを作成する

  1. Visual Studio を開き、新しいプロジェクトを作成します。

    スタート ウィンドウが開いていない場合は、[ファイル][スタート ウィンドウ]選択します。 スタート ウィンドウで、[新しいプロジェクト作成] を選択します。

    [ 新しいプロジェクトの作成 ] ウィンドウで、検索ボックスに コンソール と入力します。 次に、[言語] の一覧から [C# ] を選択し、[プラットフォーム] の一覧から [Windows ] を選択します。

    言語フィルターとプラットフォーム フィルターを適用したら、.NET Core 用の コンソール アプリ テンプレートを選択し、[ 次へ] を選択します。

    推奨されるターゲット フレームワークまたは .NET 10 を選択し、[ 作成] を選択します。

    .NET Core の コンソール アプリ プロジェクト テンプレートが表示されない場合は、 ツール>Get Tools and Features...に移動し、Visual Studio インストーラーを開きます。 .NET Core クロスプラットフォーム開発ワークロードを選択し、[変更] を選択します

    Visual Studio によってプロジェクトが作成されます。

  2. Program.csまたはModule1.vbで、次のコードを置き換えます。

    class Program
    {
        static void Main(string[] args)
        {
        }
    }
    

    次のコードを使用します。

    class Program
    {
        private static void doWork()
        {
            LinkedList<int> c1 = new LinkedList<int>();
    
            c1.AddLast(10);
            c1.AddLast(20);
    
            LinkedList<int> c2 = new LinkedList<int>(c1);
            int i = c2.First.Value;
            int j = c2.First.Value;
            Console.Write("The first element is ");
            Console.Write(i);
            Console.Write("\n");
            Console.Write("The second element is ");
            Console.Write(j);
            Console.Write("\n");
    
        }
    
        static int Main()
        {
            // using namespace std;
            doWork();
            return 0;
    
        }
    }
    

    Visual Basic で、スタートアップ オブジェクトが Sub Main に設定されていることを確認します (アプリケーション > スタートアップ オブジェクト>プロパティ)。

ブレークポイントを設定する

ブレークポイントは、Visual Studio で実行中のコードを中断する場所を示すマーカーであり、変数の値やメモリの動作、またはコードの分岐が実行されているかどうかを確認できます。 これは、デバッグの最も基本的な機能です。

  1. ブレークポイントを設定するには、 doWork 関数呼び出しの左側にある余白をクリックします (または、コード行を選択して F9 キーを押します)。

    ブレークポイントを設定する ブレークポイント

  2. F5 キーを押します (または、[デバッグ] > [デバッグの開始] を選択します)。

    ブレークポイントにヒット

    ブレークポイントを設定した場所でデバッガーが一時停止します。 黄色の矢印は、デバッガーとアプリの実行が一時停止されているステートメントを識別します。 doWork関数呼び出しを含む行はまだ実行されていません。

    ヒント

    ループまたは再帰にブレークポイントがある場合、または頻繁にステップ実行するブレークポイントが多数ある場合は、 条件付きブレークポイント を使用して、特定の条件が満たされた場合にのみコードが中断されるようにします。 条件付きブレークポイントを使用すると、時間を節約でき、再現が困難な問題を簡単にデバッグすることもできます。

デバッガーに続行するように指示するさまざまなコマンドがあります。 Visual Studio 2017 以降で使用できる便利なコード ナビゲーション コマンドを示します。

コードがブレークポイントで一時停止している間、ステートメントc1.AddLast(20)の上にマウス ポインターを移動させ、緑色の 「実行してクリック」 ボタンが表示されるまで待ちます。その後、Run to Click「実行してクリック」 ボタンを押します。

クリックで実行

アプリは実行を続行し、 doWorkを呼び出し、ボタンをクリックしたコード行で一時停止します。

コードのステップ 実行に使用される一般的なキーボード コマンドには 、F10F11 が含まれます。 詳細な手順については、 デバッガーの最初の確認を参照してください。

データ ヒントで変数を検査する

  1. 現在のコード行 (黄色の実行ポインターでマーク) で、マウスで c1 オブジェクトの上にポインターを置くと、データ ヒントが表示されます。

    データ ヒントを表示

    データ ヒントには、 c1 変数の現在の値が表示され、そのプロパティを調べることができます。 デバッグ時に予期しない値が表示される場合は、前のコード行または呼び出し元のコード行にバグがある可能性があります。

  2. データ ヒントを展開して、 c1 オブジェクトの現在のプロパティ値を確認します。

  3. コードの実行中に c1 の値を引き続き確認できるようにデータ ヒントをピン留めする場合は、小さなピン アイコンを選択します。 (ピン留めされたデータ ヒントを便利な場所に移動できます)。

コードを編集してデバッグを続行する

デバッグ セッションの途中でコードでテストする変更を特定した場合は、その変更も実行できます。

  1. c2.First.Valueの 2 番目のインスタンスを選択し、c2.First.Valuec2.Last.Value に変更します。

  2. F10 キー (またはデバッグ > ステップ オーバー) を数回押してデバッガーを進め、編集したコードを実行します。

    エディット コンティニュ

    F10 ではデバッガーをステートメントごとに一歩進めますが、関数に入るのではなく、関数を飛ばして次に進みます (スキップしたコードは引き続き実行されます)。

エディット コンティニュの使用と機能の制限の詳細については、「 エディット コンティニュ」を参照してください。

次のステップ

このチュートリアルでは、デバッガーを起動し、コードをステップ実行し、変数を検査する方法を学習しました。 詳細な情報へのリンクと共に、デバッガーの機能を大まかに見ることができます。