混合モードでデバッグする (C#、C++、Visual Basic)
以下の手順では、マネージド コードとネイティブ コードを一緒にデバッグできるようにする方法について説明します。これは、混合モード デバッグとも呼ばれます。 混合モードのデバッグ シナリオには、次の 2 つがあります。
DLL を呼び出すアプリはネイティブ コードで記述されており、DLL はマネージド コードです。
DLL を呼び出すアプリはマネージド コードで記述されており、DLL はネイティブ コードになります。 このシナリオを詳細に説明するチュートリアルについては、マネージ コードとネイティブ コードのデバッグに関するページを参照してください。
マネージド デバッガーとネイティブ デバッガーは両方とも、呼び出し元のアプリ プロジェクトの [プロパティ] ページで有効にすることができます。 ネイティブ アプリとマネージド アプリの設定は異なります。
呼び出し元のアプリのプロジェクトにアクセスできない場合は、DLL プロジェクトから DLL をデバッグすることができます。 DLL プロジェクトだけをデバッグするには、混合モードは必要ありません。 詳細については、DLL プロジェクトからデバッグする方法に関するページをご覧ください。
Note
実際に画面に表示されるダイアログ ボックスとコマンドは、ご利用の Visual Studio の設定またはエディションによっては、この記事のものと異なる場合があります。 設定を変更するには、[ツール]>[設定のインポートとエクスポート] を選択します。 詳細については、「すべての設定のリセット」を参照してください。
ネイティブの呼び出し元アプリに対する混合モード デバッグを有効にする
ソリューション エクスプローラーで C++ プロジェクトを選択し、[プロパティ] アイコンを選択して、Alt+Enter キーを押すか、右クリックして [プロパティ] を選択します。
[<プロジェクト> プロパティ ページ] ダイアログ ボックスで、[構成プロパティ] を展開して、[デバッグ] を選びます。
[デバッガーの種類] を [混合] または [自動] に設定します。
[OK] を選択します。
マネージド呼び出し元アプリに対する混合モード デバッグを有効にする
ソリューション エクスプローラーで C# または Visual Basic プロジェクトを選択し、[プロパティ] アイコンを選択して、Alt+Enter キーを押すか、右クリックして [プロパティ] を選択します。
[ソリューション エクスプローラー] で、C# または Visual Basic プロジェクト ノードを選択し、[プロパティ] アイコンを選択するか、プロジェクト ノードを右クリックし、[プロパティ] を選択します。
プロパティでネイティブ コードのデバッグを有効にします。
C# の場合、左側のウィンドウで [デバッグ] を選択し、[デバッグ起動プロファイル UI を開く] を選択し、[ネイティブ コードのデバッグを有効にする] チェック ボックスをオンにしてから、プロパティ ページを閉じて変更を保存します。
Visual Basic の場合、左側のウィンドウで [デバッグ] を選択し、[ネイティブ コードのデバッグを有効にする] チェック ボックスをオンにしてから、プロパティ ページを閉じて変更を保存します。
左側のウィンドウで [デバッグ] を選択し、 [ネイティブ コードのデバッグを有効にする] チェック ボックスをオンにしてから、プロパティ ページを閉じて変更を保存します。
Note
Visual Studio 2017 と Visual Studio 2019 の .NET Core アプリでは、プロジェクト プロパティの代わりに launchSettings.json ファイルを使用して、混合モード デバッグを有効にする必要があります。