混合モードでのデバッグ (C#、C++、Visual Basic)
この記事では、マネージド コードとネイティブ コードのデバッグを一緒に有効にする方法 (混合モード デバッグと呼ばれます) について説明します。 混合モードのデバッグ シナリオには、次の 2 つがあります。
DLL を呼び出すアプリはネイティブ コードで記述され、DLL は管理されます。
DLL を呼び出すアプリはマネージド コードで記述され、DLL はネイティブ コード内にあります。 このシナリオについて説明するチュートリアルについては、「マネージド コードとネイティブ コードのデバッグ 参照してください。
呼び出し元のアプリ プロジェクトの プロパティ ページで、マネージド デバッガーとネイティブ デバッガーの両方を有効にすることができます。 設定は、ネイティブ アプリとマネージド アプリでは異なります。
呼び出し元アプリのプロジェクトにアクセスできない場合は、DLL プロジェクトから DLL をデバッグできます。 デバッグに混合モードは必要ありません。 必要なのは DLL プロジェクトだけです。 詳細については、「DLL プロジェクトからデバッグする方法」を参照してください。
手記
この記事で説明するダイアログとコマンドは、Visual Studio の設定やエディションによってエクスペリエンスと異なる場合があります。 設定を変更するには、[ツール]>[設定のインポートとエクスポート]を選択します。 詳細については、「すべての設定をリセットする」を参照してください。
ネイティブ呼び出し元アプリの混合モードを有効にする (C++)
C++ でネイティブ呼び出し元アプリの混合モード デバッグを有効にするには、次の手順に従います。
Visual Studio ソリューション エクスプローラーで、C++ プロジェクトを右クリックし、[プロパティ] 選択するか、Alt + Enter キーボード ショートカットを使用します。 <プロジェクト> プロパティ ページ ダイアログが開きます。
ダイアログボックスで、[構成プロパティ] セクションを展開し、[デバッグ ] タブ 選択します。
[デバッグ タブで、デバッガータイプ プロパティを選択し、ドロップダウンリストを使用して、[自動 ] または [混合 ] オプションを選択してください。 .NET Core や .NET Framework など、混在のオプションが複数ある場合は、構成に最適なオプションを選択します。
プロパティの変更を適用するには、[OK] 選択します。
マネージド呼び出し元アプリの混合モードを有効にする (.NET)
C# または Visual Basic で .NET 呼び出し元アプリの混合モード デバッグを有効にするには、次の手順に従います。
Visual Studio ソリューション エクスプローラーで、C# または Visual Basic プロジェクトを右クリックし、[プロパティ] 選択するか、Alt + Enter キーボード ショートカットを使用します。 [プロパティ] ウィンドウが開きます。
プロパティ ペインで、次のプロパティを設定して混合モードデバッグを有効にします。
.NET コード
左側のメニューで、デバッグを選択します。
[全般] セクションで、[デバッグ起動プロファイル UI を開く] リンクを選択します。 起動プロファイル ダイアログが開きます。
ダイアログでスクロールして、「「ネイティブ コードデバッグを有効にする」」セクションを見つけます。
マネージド コードとネイティブ コードのデバッグを一緒に有効にする (混合モード デバッグ プロパティとも呼ばれます) を選択します。
プロパティの変更を適用するには、[起動プロファイル] ダイアログボックスと [プロパティ] ウィンドウを閉じます。
左側のメニューで、デバッグを選択します。
[デバッガー エンジン] セクションで、[ネイティブ コード デバッグを有効にする] プロパティを選択します。
プロパティの変更を適用するには、プロパティ ペインを閉じます。
手記
Visual Studio 2017 および Visual Studio 2019 の .NET Core アプリの場合、混合モードデバッグを有効にするには、プロジェクトプロパティの代わりに launchSettings.json ファイルを使用する必要があります。
マネージド呼び出し元アプリの混合モードを有効にする (.NET Framework)
C# または Visual Basic で .NET Framework 呼び出し元アプリの混合モード デバッグを有効にするには、次の手順に従います。
Visual Studio ソリューション エクスプローラーで、C# または Visual Basic プロジェクトを右クリックし、[プロパティ] 選択するか、Alt + Enter キーボード ショートカットを使用します。 [プロパティ] ウィンドウが開きます。
プロパティ ペインで、次のプロパティを設定して混合モードデバッグを有効にします。
左側のメニューで、デバッグを選択します。
[デバッガー エンジン] セクションで、[ネイティブ コード デバッグを有効にする] プロパティを選択します。
プロパティの変更を適用するには、プロパティ ペインを閉じます。
::: moniker-end
関連コンテンツ
- DLL プロジェクト からのデバッグ
- マネージド コードとネイティブ コード をデバッグする
- すべての設定をリセットする