Condividi tramite


Risolvere i problemi di debug remoto

Si applica a: Visual Studio

Questo articolo presenta la procedura di risoluzione dei problemi e le soluzioni di alcuni problemi comuni relativi al debug remoto.

Per risolvere i problemi di debug remoto, il primo passaggio consiste nel controllare la presenza di messaggi di errore e analizzare. Il messaggio può includere un collegamento con altre informazioni.

Verificare quindi che l'app sia in esecuzione correttamente nel server prima di provare a eseguirne il debug.

In caso contrario, ecco i problemi e le soluzioni più comuni:

Versione non corretta del debugger remoto installato

Per gli scenari in cui si installa manualmente il debugger remoto in un computer remoto, assicurarsi che la versione installata corrisponda alla versione di Visual Studio. Per i collegamenti correnti per scaricare il debugger remoto, vedere Debugger remoto.

Una build di versione viene distribuita nel server anziché in una build di debug

Lo strumento Pubblica e alcune altre opzioni di pubblicazione hanno un'impostazione di configurazione di debug separata che è necessario impostare. È possibile scegliere una compilazione di debug quando si esegue l'app in Visual Studio, ma ciò non significa che sia stata installata una build di debug nel server.

È possibile connettersi all'applicazione remota, ma non è possibile raggiungere i punti di interruzione (o i simboli di debug non verranno caricati)

Per questo problema, è possibile che venga visualizzato un messaggio Nessun simbolo caricato.

Usare la finestra Moduli per individuare lo stato di caricamento dei simboli per il modulo e i moduli considerati dal debugger come codice utente o Codice personale.

  • La colonna Stato simbolo indica se i simboli vengono caricati correttamente per il modulo.
  • La colonna Codice utente indica se il modulo di cui si sta tentando di eseguire il debug è classificato come Codice personale. Se viene visualizzato in modo non corretto come Codice personale, è probabile che nel server sia stata distribuita una build di versione. I file binari di versione sono ottimizzati e non vengono mai considerati come codice personale, quindi disabilitare Just My Code o distribuire una build di debug nel server.
  • Se l'impostazione Codice utente è corretta, ma i simboli non vengono caricati, verificare che il debugger usi i file di simboli corretti. Il debugger carica solo i simboli (file con estensione pdb) che corrispondono esattamente ai file con estensione pdb creati durante la compilazione di un'app, ovvero i file con estensione pdb o copie originali. Per il debug remoto di Windows, per impostazione predefinita i file PDB vengono letti nel computer di Visual Studio e non dal server. Tuttavia, msvsmon ha un argomento della riga di comando per consentire il ritorno ai file con estensione pdb remoti.

Per altre informazioni, vedere Risolvere i problemi relativi ai punti di interruzione.

(ASP.NET) La versione di ASP.NET in esecuzione nel server non è la stessa della versione configurata per l'app

Potrebbe essere necessario installare la versione corretta di ASP.NET o ASP.NET Core nel server o nel computer locale. Per controllare la versione dell'app di ASP.NET, fare clic con il pulsante destro del mouse sul progetto in Esplora soluzioni e scegliere Proprietà. Controllare la scheda Compila. La configurazione di ASP.NET nel server è specifica dello scenario. Per ASP.NET app Framework, potrebbe essere necessario impostare la versione del framework nel file diweb.config .

Il processo necessario non viene visualizzato nella finestra di dialogo Connetti a processo

Per alcuni scenari è necessario collegarsi manualmente al processo corretto. Se si usa Collega a processo per lo scenario e non viene visualizzato il processo previsto:

  • Se il filtro del processo di ricerca è stato impostato in precedenza, verificare se è necessario cancellarlo.
  • Selezionare Mostra processi per tutti gli utenti per visualizzare i processi in esecuzione con altri account utente.
  • Per le connessioni lente, potrebbe essere necessario disabilitare l'aggiornamento automatico.
  • Se vengono modificati rispetto alle impostazioni predefinite, i campi Tipo di connessione e Collega a possono limitare i processi visualizzati nell'elenco.

Non si sta collegando al processo corretto

Se si usa attach to process, assicurarsi di collegarsi al processo corretto. Per altre informazioni, vedere Scenari di debug comuni.

Una porta obbligatoria non è aperta

Nella maggior parte delle configurazioni ASP.NET, le porte necessarie vengono aperte dall'installazione di ASP.NET e dal debugger remoto. Tuttavia, potrebbe essere necessario verificare che le porte siano aperte. Ad esempio, negli scenari di macchine virtuali di Azure è probabilmente necessario aprire la porta del debugger remoto e la porta del server, ad esempio IIS usa la porta 80.

Potrebbero essere necessari privilegi elevati per il debugger remoto

In alcuni scenari potrebbe essere necessario eseguire il debugger remoto come amministratore. Per altre informazioni, vedere Eseguire il debugger remoto come amministratore.