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:

  1. 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>.

  2. Nella finestra di dialogo espandere la sezione Proprietà di configurazione e selezionare la scheda Debug .

  3. 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.

    Screenshot che mostra come abilitare il debug in modalità mista per un progetto C++ in Visual Studio.

  4. 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:

  1. 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à.

  2. Nel riquadro Proprietà abilitare il debug in modalità mista impostando la proprietà seguente:

    Codice .NET

    1. Nel menu a sinistra selezionare Debug.

    2. Nella sezione Generale selezionare il collegamento Apri l'interfaccia utente dei profili di avvio di debug. Verrà visualizzata la finestra di dialogo Avvia profili .

    3. Nella finestra di dialogo scorrere per individuare la sezione Abilita debug del codice nativo.

    4. Selezionare insieme la proprietà Abilita debug per codice gestito e nativo, nota anche come proprietà di debug in modalità mista:

      Screenshot che mostra come abilitare il debug in modalità mista per un progetto C# o Visual Basic in Visual Studio.

    5. 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:

    1. Nel menu a sinistra selezionare Debug.

    2. Nella sezione Motori del debugger selezionare la proprietà Abilita debug del codice nativo:

      Screenshot che mostra come abilitare il debug in modalità mista per un progetto C# o Visual Basic in Visual Studio 2019.

    3. Per applicare la modifica della proprietà, chiudere il riquadro Proprietà .

    1. Nel menu a sinistra selezionare Debug.

    2. Nella sezione Motori del debugger selezionare la proprietà Abilita debug del codice nativo:

      Screenshot che mostra come abilitare il debug in modalità mista per un progetto C# o Visual Basic in Visual Studio 2019.

    3. 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.