混合モードでデバッグする (C#、C++、Visual Basic)

以下の手順では、マネージド コードとネイティブ コードを一緒にデバッグできるようにする方法について説明します。これは、混合モード デバッグとも呼ばれます。 混合モードのデバッグ シナリオには、次の 2 つがあります。

  • DLL を呼び出すアプリはネイティブ コードで記述されており、DLL はマネージド コードです。

  • DLL を呼び出すアプリはマネージド コードで記述されており、DLL はネイティブ コードになります。 このシナリオを詳細に説明するチュートリアルについては、マネージ コードとネイティブ コードのデバッグに関するページを参照してください。

マネージド デバッガーとネイティブ デバッガーは両方とも、呼び出し元のアプリ プロジェクトの [プロパティ] ページで有効にすることができます。 ネイティブ アプリとマネージド アプリの設定は異なります。

呼び出し元のアプリのプロジェクトにアクセスできない場合は、DLL プロジェクトから DLL をデバッグすることができます。 DLL プロジェクトだけをデバッグするには、混合モードは必要ありません。 詳細については、DLL プロジェクトからデバッグする方法に関するページをご覧ください。

Note

実際に画面に表示されるダイアログ ボックスとコマンドは、ご利用の Visual Studio の設定またはエディションによっては、この記事のものと異なる場合があります。 設定を変更するには、[ツール]>[設定のインポートとエクスポート] を選択します。 詳細については、「すべての設定のリセット」を参照してください。

ネイティブの呼び出し元アプリに対する混合モード デバッグを有効にする

  1. ソリューション エクスプローラーで C++ プロジェクトを選択し、[プロパティ] アイコンを選択して、Alt+Enter キーを押すか、右クリックして [プロパティ] を選択します。

  2. [<プロジェクト> プロパティ ページ] ダイアログ ボックスで、[構成プロパティ] を展開して、[デバッグ] を選びます。

  3. [デバッガーの種類][混合] または [自動] に設定します。

  4. [OK] を選択します。

    Enable mixed mode debugging in C++

マネージド呼び出し元アプリに対する混合モード デバッグを有効にする

  1. ソリューション エクスプローラーで C# または Visual Basic プロジェクトを選択し、[プロパティ] アイコンを選択して、Alt+Enter キーを押すか、右クリックして [プロパティ] を選択します。

  2. [ソリューション エクスプローラー] で、C# または Visual Basic プロジェクト ノードを選択し、[プロパティ] アイコンを選択するか、プロジェクト ノードを右クリックし、[プロパティ] を選択します。

  3. プロパティでネイティブ コードのデバッグを有効にします。

    C# の場合、左側のウィンドウで [デバッグ] を選択し、[デバッグ起動プロファイル UI を開く] を選択し、[ネイティブ コードのデバッグを有効にする] チェック ボックスをオンにしてから、プロパティ ページを閉じて変更を保存します。 Enable mixed mode debugging in C#

    Visual Basic の場合、左側のウィンドウで [デバッグ] を選択し、[ネイティブ コードのデバッグを有効にする] チェック ボックスをオンにしてから、プロパティ ページを閉じて変更を保存します。

    Enable mixed mode debugging in Visual Basic

    左側のウィンドウで [デバッグ] を選択し、 [ネイティブ コードのデバッグを有効にする] チェック ボックスをオンにしてから、プロパティ ページを閉じて変更を保存します。

    Enable mixed mode debugging

    Note

    Visual Studio 2017 と Visual Studio 2019 の .NET Core アプリでは、プロジェクト プロパティの代わりに launchSettings.json ファイルを使用して、混合モード デバッグを有効にする必要があります。