Il debugging remoto

È possibile eseguire il debug di un'applicazione di Visual Studio distribuita in un computer diverso. A tale scopo, usare il debugger remoto di Visual Studio.

Per istruzioni approfondite sul debug remoto, vedere questi argomenti.

Scenario Collegamento
C# o Visual Basic Eseguire il debug remoto di un progetto C# o Visual Basic
C++ Eseguire il debug remoto di un progetto C++
Servizio app di Azure Debug remoto di ASP.NET Core su Azure o, per Visual Studio Enterprise, il Snapshot Debugger
ASP.NET debug remoto ASP.NET Core o debug remoto ASP.NET
Macchina virtuale di Azure Debug remoto di ASP.NET su una VM di Azure
Linux Eseguire il debug di .NET Core in Linux usando SSH connettendosi a un processo
Docker Collega a un processo in esecuzione in un contenitore Docker
App universali di Windows (UWP) Eseguire app UWP in un computer remoto o Eseguire il debug di un pacchetto dell'app installato

Se si vuole solo scaricare e installare il debugger remoto e non sono necessarie istruzioni aggiuntive per lo scenario, seguire la procedura descritta in questo articolo.

Scaricare e installare gli strumenti remoti

Nel dispositivo remoto o nel server in cui si vuole eseguire il debug, anziché nel computer di Visual Studio, scaricare e installare la versione corretta degli strumenti remoti dai collegamenti nella tabella seguente.

  • Scaricare l'aggiornamento più recente degli strumenti remoti per la versione di Visual Studio. Le versioni precedenti degli strumenti remoti non sono compatibili con le versioni successive di Visual Studio. Ad esempio, se si usa Visual Studio 2019, scaricare l'aggiornamento più recente degli strumenti remoti per Visual Studio 2019. In questo scenario non scaricare gli strumenti remoti per Visual Studio 2022.
  • Scaricare gli strumenti remoti con la stessa architettura del computer in cui si stanno installando. Ad esempio, se si vuole eseguire il debug di applicazioni x86 in un computer remoto che esegue un sistema operativo x64, installare gli strumenti remoti x64. Per eseguire il debug di applicazioni x86, ARM o x64 in un sistema operativo ARM64, installare gli strumenti remoti ARM64.
Versione Collegamento Note
Visual Studio 2022 Strumenti remoti Compatibile con tutte le versioni di Visual Studio 2022. Scaricare la versione corrispondente al sistema operativo del dispositivo (x86, x64 (AMD64) o ARM64. Nelle versioni precedenti di Windows Server, vedere Sblocca il download dei file per aiuto con il download degli strumenti remoti.
Visual Studio 2019 Strumenti remoti Gli strumenti remoti per Visual Studio 2019 sono disponibili da My.VisualStudio.com. Se richiesto, partecipate al programma gratuito di Visual Studio Dev Essentials oppure accedete con l'ID abbonamento di Visual Studio. Scaricare la versione corrispondente al sistema operativo del dispositivo (x86, x64 (AMD64) o ARM64. Nelle versioni precedenti di Windows Server, vedere "Sbloccare il download del file" () per assistenza sul download degli strumenti remoti ().
Visual Studio 2017 Strumenti remoti Gli strumenti remoti per Visual Studio 2017 sono disponibili da My.VisualStudio.com. Se richiesto, partecipa al programma gratuito di Visual Studio Dev Essentials oppure accedi con l'ID della sottoscrizione di Visual Studio. Scaricare la versione corrispondente al sistema operativo del dispositivo (x86, x64 (AMD64) o ARM64. Su Windows Server, vedi Sblocca il download del file per informazioni sul download degli strumenti remoti.
Visual Studio 2015 Strumenti remoti Gli strumenti remoti per Visual Studio 2015 sono disponibili da My.VisualStudio.com. Se richiesto, partecipa al programma gratuito di Visual Studio Dev Essentials oppure accedi con l'ID dell'abbonamento di Visual Studio. Su Windows Server, vedi Sblocca il download del file per informazioni sul download degli strumenti remoti.
Visual Studio 2013 Strumenti remoti Pagina di download nella documentazione di Visual Studio 2013
Visual Studio 2012 Strumenti remoti Pagina di download nella documentazione di Visual Studio 2012
Versione Collegamento Note
Visual Studio 2019 Strumenti remoti Compatibile con tutte le versioni di Visual Studio 2019. Scaricare la versione corrispondente al sistema operativo del dispositivo (x86, x64 (AMD64) o ARM64. In Windows Server, vedi Sbloccare il download del file per informazioni sul download degli strumenti remoti. Per la versione più recente degli strumenti remoti, aprire il documento Visual Studio 2022.
Visual Studio 2017 Strumenti remoti Compatibile con tutte le versioni di Visual Studio 2017. Scaricare la versione corrispondente al sistema operativo del dispositivo (x86, x64 (AMD64) o ARM64. Su Windows Server, vedi Sblocca il download del file per informazioni sul download degli strumenti per l'accesso remoto.
Visual Studio 2015 Strumenti remoti Gli strumenti remoti per Visual Studio 2015 sono disponibili da My.VisualStudio.com. Se richiesto, partecipa al programma gratuito di Visual Studio Dev Essentials, oppure accedi con l'ID di abbonamento Visual Studio. In Windows Server, vedi Sbloccare il download del file per informazioni sul download degli strumenti remoti.
Visual Studio 2013 Strumenti remoti Pagina di download nella documentazione di Visual Studio 2013
Visual Studio 2012 Strumenti remoti Pagina di download nella documentazione di Visual Studio 2012

È possibile eseguire il debugger remoto copiando msvsmon.exe nel computer remoto, anziché installando gli strumenti remoti. Tuttavia, la Procedura guidata di configurazione del debugger remoto (rdbgwiz.exe) è disponibile solo quando si installano gli strumenti remoti. Potrebbe essere necessario usare la procedura guidata per la configurazione se si vuole eseguire il debugger remoto come servizio. Per altre informazioni, vedere (facoltativo) Configurare il debugger remoto come servizio.

Nota

  • Per eseguire il debug di app di Windows 10 o versioni successive nei dispositivi ARM, usare ARM64, disponibile con la versione più recente degli strumenti remoti.
  • Per eseguire il debug delle app di Windows 10 nei dispositivi Windows RT, usare ARM, disponibile solo nel download degli strumenti remoti di Visual Studio 2015.
  • Per eseguire il debug di app x64 in un sistema operativo ARM64, eseguire il msvsmon.exe x64 installato con gli strumenti remoti ARM64.

Requisiti

Sistemi operativi supportati

Il computer remoto deve eseguire uno dei sistemi operativi seguenti:

  • Windows 11

  • Windows 10 (non telefono)

  • Windows 8 o 8.1 (non telefono)

  • Windows 7 Service Pack 1

  • Windows Server 2016

  • Windows Server 2012 o Windows Server 2012 R2

  • Windows Server 2008 Service Pack 2, Windows Server 2008 R2 Service Pack 1

Configurazioni hardware supportate

  • Processore da 1,6 GHz o superiore

  • 1 GB di RAM (1,5 GB se in esecuzione in una macchina virtuale)

  • 1 GB di spazio disponibile su disco rigido

  • Disco rigido da 5400 RPM

  • Scheda video compatibile con DirectX 9 in grado di operare a una risoluzione di 1024 x 768 o superiore.

Configurazione di rete

Il computer remoto e il computer di Visual Studio devono essere connessi tramite una rete, un gruppo di lavoro o un gruppo home oppure connessi direttamente tramite un cavo Ethernet. Il debug tra due computer connessi tramite un proxy non è supportato. Il debug su una connessione a latenza elevata o bassa larghezza di banda, ad esempio connessione Internet remota o su Internet tra paesi/aree geografiche non è consigliato e potrebbe non riuscire o essere inaccettabile lento.

(Facoltativo) Per eseguire il debugger remoto da una condivisione file

È possibile trovare il debugger remoto (msvsmon.exe) in un computer con Visual Studio Community, Professional o Enterprise già installato. Per alcuni scenari, il modo più semplice per configurare il debug remoto consiste nell'eseguire il debugger remoto (msvsmon.exe) da una condivisione file. Per le limitazioni di utilizzo, vedere la pagina della Guida del debugger remoto (Guida > Utilizzo nel debugger remoto).

  1. Trovare msvsmon.exe nella directory corrispondente alla versione di Visual Studio:

    Programmi\Microsoft Visual Studio 17.0\Common7\IDE\Remote Debugger\x64\msvsmon.exe

    Programmi\Microsoft Visual Studio 17.0\Common7\IDE\Remote Debugger\x86\msvsmon.exe

    Programmi (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\Remote Debugger\x64\msvsmon.exe

    Programmi (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\Remote Debugger\x86\msvsmon.exe

  2. Condividere la cartella debugger remoto sul computer di Visual Studio.

  3. Nel computer remoto eseguire msvsmon.exe dalla cartella condivisa. Seguire le istruzioni di installazione .

Consiglio

Per l'installazione e il riferimento alla riga di comando, consultare la pagina della Guida per msvsmon.exe digitando msvsmon.exe /? nella riga di comando sul computer in cui è installato Visual Studio o passare a Guida utilizzo nel debugger remoto >.

Configurare il debugger remoto

  1. Nel computer remoto, individuare e avviare il debugger remoto dal menu Start .

    Se non si dispone delle autorizzazioni amministrative sul computer remoto, fare clic con il pulsante destro del mouse sull'app Debugger remoto e selezionare Esegui come amministratore. In caso contrario, inizialo normalmente.

    Se si prevede di connettersi a un processo in esecuzione come amministratore o in esecuzione con un account utente diverso, ad esempio IIS, fare clic con il pulsante destro del mouse sull'app Debugger remoto e selezionare Esegui come amministratore. Per ulteriori informazioni, consultare Esegui il debugger remoto come amministratore.

  2. La prima volta che si avvia il debugger remoto (o prima di averla configurata), viene visualizzata la configurazione di debug remoto procedura guidata.

    Nella maggior parte degli scenari scegliere Avanti finché non si arriva alla pagina Configura windows Firewall della procedura guidata.

    Screenshot della configurazione del debugger remoto.

    Screenshot della configurazione del debugger remoto.

    Se l'API di Servizi Web Windows non è installata, che si verifica solo in Windows Server 2008 R2, selezionare il pulsante Installa.

  3. Selezionare almeno un tipo di rete su cui si vogliono usare gli strumenti remoti. Se i computer sono connessi tramite un dominio, è necessario scegliere il primo elemento. Se i computer sono connessi tramite un gruppo di lavoro o un gruppo home, scegliere il secondo o il terzo elemento in base alle esigenze.

    Selezionare quindi Fine per avviare il debugger remoto.

    Selezionare quindi Configura debug remoto per avviare il debugger remoto.

  4. Al termine della configurazione, la finestra Debugger remoto viene visualizzata.

    Screenshot della finestra del Debugger remoto

    Screenshot della finestra del Debugger Remoto

    Il debugger remoto è ora in attesa di una connessione. Usare il nome del server e il numero di porta visualizzati per impostare la configurazione della connessione remota in Visual Studio.

Per arrestare il debugger remoto, selezionare File>Esci. È possibile riavviarlo dal menu Start o dalla riga di comando:

<Remote debugger installation directory>\msvsmon.exe

Configurare il debugger remoto

È possibile modificare alcuni aspetti della configurazione del debugger remoto dopo averlo avviato per la prima volta.

  • Se è necessario aggiungere autorizzazioni per consentire ad altri utenti di connettersi al debugger remoto, scegliere Strumenti > Autorizzazioni. È necessario disporre dei privilegi di amministratore per concedere o negare le autorizzazioni.

    Importante

    È possibile eseguire il debugger remoto con un account utente diverso dall'account utente usato nel computer di Visual Studio, ma è necessario aggiungere l'account utente diverso alle autorizzazioni del debugger remoto.

    In alternativa, è possibile avviare il debugger remoto dalla riga di comando con il parametro /allow <nome utente>: msvsmon /allow <username@computer>.

  • Se è necessario modificare la modalità di autenticazione o il numero di porta oppure specificare un valore di timeout per gli strumenti remoti: scegliere Strumenti > Opzioni.

    Per un elenco dei numeri di porta usati per impostazione predefinita, vedere Remote Debugger Port Assignments.

    Avvertimento

    È possibile scegliere di eseguire gli strumenti remoti in modalità Nessuna autenticazione, ma questa modalità è fortemente sconsigliata. Non esiste alcuna sicurezza di rete quando si esegue in questa modalità. Scegliere la modalità Nessuna autenticazione solo se si è certi che la rete non sia a rischio di traffico dannoso o ostile.

Configurare Visual Studio per il debug remoto

Per istruzioni dettagliate per connettersi all'app da Visual Studio, usare i collegamenti correlati allo scenario specifico all'inizio di questo articolo.

Alcuni scenari richiedono l'uso di Collega a processo per connettersi a un'app remota già avviata. Tuttavia, per le app .NET Core, .NET 5+, .NET Framework e C++, è possibile avviare l'app remota da Visual Studio configurando le proprietà del progetto e avviando il debugger. Per altre informazioni, vedere Eseguire il debug remoto di un progetto C# o Visual Basic o Eseguire il debug remoto di un progetto C++.

È anche possibile eseguire il debug remoto di un eseguibile che non fa parte di un progetto di Visual Studio, anche se le funzionalità di debug supportate dipendono dalla configurazione, ad esempio la disponibilità dei simboli. Per altre informazioni, vedere Eseguire il debug di un'app che non fa parte di una soluzione di Visual Studio.

(Facoltativo) Configurare il debugger remoto come servizio

Per il debug in ASP.NET e in altri ambienti server, è necessario eseguire il debugger remoto come amministratore oppure, se si vuole che sia sempre in esecuzione, eseguire il debugger remoto come servizio.

Se si vuole configurare il debugger remoto come servizio, seguire questa procedura.

  1. Trova la Configurazione guidata del debugger remoto (rdbgwiz.exe). Si tratta di un'applicazione separata dal debugger remoto. È disponibile solo quando si installano gli strumenti remoti. Non è installato con Visual Studio.

  2. Avvia la procedura guidata di configurazione. Quando viene visualizzata la prima pagina, fare clic su Avanti.

  3. Selezionare la casella di controllo Esegui debugger remoto di Visual Studio come servizio.

  4. Aggiungere il nome dell'account utente e della password.

    Potrebbe essere necessario aggiungere il diritto di accesso utente Accedi come servizio a questo account (Trova la Criteri di sicurezza locali (secpol.msc) nella finestra Start (o digita secpol al prompt dei comandi). Quando viene visualizzata la finestra, fare doppio clic su Assegnazione diritti utente, quindi individuare Accesso come servizio nel riquadro destro. Fare doppio clic su di esso. Aggiungere l'account utente alla finestra Proprietà e fare clic su OK). Fare clic su Avanti.

  5. Selezionare il tipo di rete con cui si desidera che gli strumenti remoti comunichino. È necessario selezionare almeno un tipo di rete. Se i computer sono connessi tramite un dominio, è consigliabile scegliere il primo elemento. Se i computer sono connessi tramite un gruppo di lavoro o un gruppo home, è necessario scegliere i secondi o i terzi elementi. Fare clic su Avanti.

  6. Se il servizio può essere avviato, verrà visualizzato Hai completato correttamente la Configurazione guidata del Debugger remoto di Visual Studio. Se il servizio non può essere avviato, verrà visualizzato Impossibile completare la procedura guidata di configurazione del debugger remoto di Visual Studio. La pagina fornisce anche alcuni suggerimenti da seguire per avviare il servizio.

  7. Fare clic su Fine.

    A questo punto il debugger remoto è in esecuzione come servizio. Per verificarlo, passare a Pannello di controllo > Services e cercare Visual Studio Remote Debugger.

    È possibile arrestare e avviare il servizio debugger remoto da Pannello di controllo > Servizi.

Configurare il debug con simboli remoti

Dovrebbe essere possibile eseguire il debug del codice con i simboli generati nel computer di Visual Studio. Le prestazioni del debugger remoto sono molto migliori quando si usano simboli locali. Se è necessario usare i simboli remoti, è necessario indicare al monitor di debug remoto di cercare i simboli nel computer remoto.

È possibile usare l'opzione della riga di comando msvsmon seguente per usare i simboli remoti per il codice gestito: Msvsmon /FallbackLoadRemoteManagedPdbs

Per altre informazioni, vedere la Guida al debug remoto (premere F1 nella finestra del debugger remoto oppure fare clic su Guida > Utilizzo).