Eseguire il debug in modalità mista (C#, C++, Visual Basic)
Questo articolo descrive come abilitare il debug per il codice gestito e nativo insieme, noto come debug in modalità mista. Esistono due scenari di debug in modalità mista:
L'app che chiama una DLL viene scritta nel codice nativo e la DLL viene gestita.
L'app che chiama una DLL viene scritta nel codice gestito e la DLL è nel codice nativo. Per un'esercitazione che illustra questo scenario, vedere Eseguire il debug di codice gestito e nativo.
È possibile abilitare debugger gestiti e nativi nelle pagine delle proprietà del progetto dell'app chiamante. Le impostazioni sono diverse per le app native e gestite.
Se non si ha accesso al progetto di un'app chiamante, è possibile eseguire il debug della DLL dal progetto DLL. Non è necessaria la modalità mista per eseguire il debug. È necessario solo il progetto DLL. Per altre informazioni, vedere Come eseguire il debug da un progetto DLL.
Nota
Le finestre di dialogo e i comandi descritti in questo articolo potrebbero differire dall'esperienza, a seconda delle impostazioni o dell'edizione di Visual Studio. Per modificare le impostazioni, selezionare Strumenti>Importa/Esporta impostazioni. Per altre informazioni, vedere Reimpostare tutte le impostazioni.
Abilitare la modalità mista per l'app per chiamate native (C++)
Per abilitare il debug in modalità mista per un'app per chiamate native in C++, seguire questa procedura:
In Visual Studio Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto C++ e scegliere Proprietà oppure usare i tasti di scelta rapida ALT + INVIO. Verrà visualizzata la <finestra di dialogo Pagine delle proprietà del progetto>.
Nella finestra di dialogo espandere la sezione Proprietà di configurazione e selezionare la scheda Debug .
Nella scheda Debug selezionare la proprietà Tipo di debugger e usare l'elenco a discesa per selezionare l'opzione Auto o Mixed. Se sono disponibili più opzioni per Mixed, ad esempio .NET Core e .NET Framework, scegliere l'opzione migliore per la configurazione.
Per applicare la modifica della proprietà, selezionare OK.
Abilitare la modalità mista per l'app per chiamate gestite (C# o Visual Basic)
Per abilitare il debug in modalità mista per un'app per chiamate gestite in C# o Visual Basic, seguire questa procedura:
In Visual Studio Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto C# o Visual Basic e scegliere Proprietà oppure usare i tasti di scelta rapida ALT + INVIO. Viene visualizzato il riquadro Proprietà.
Nel riquadro Proprietà abilitare il debug in modalità mista impostando la proprietà seguente:
Codice .NET
Nel menu a sinistra selezionare Debug.
Nella sezione Generale selezionare il collegamento Apri l'interfaccia utente dei profili di avvio di debug. Verrà visualizzata la finestra di dialogo Avvia profili .
Nella finestra di dialogo scorrere per individuare la sezione Abilita debug del codice nativo.
Selezionare insieme la proprietà Abilita debug per codice gestito e nativo, nota anche come proprietà di debug in modalità mista:
Per applicare la modifica della proprietà, chiudere la finestra di dialogo Avvia profili e il riquadro Proprietà .
Codice .NET Framework
Se si usa il codice .NET Framework senza profilo di avvio di debug, seguire questa procedura:
Nel menu a sinistra selezionare Debug.
Nella sezione Motori del debugger selezionare la proprietà Abilita debug del codice nativo:
Per applicare la modifica della proprietà, chiudere il riquadro Proprietà .
Nel menu a sinistra selezionare Debug.
Nella sezione Motori del debugger selezionare la proprietà Abilita debug del codice nativo:
Per applicare la modifica della proprietà, chiudere il riquadro Proprietà .
Nota
Per un'app .NET Core in Visual Studio 2017 e Visual Studio 2019, è necessario usare il file launchSettings.json anziché le proprietà del progetto per abilitare il debug in modalità mista.