Condividi tramite


Risolvere i problemi di debug remoto

Si applica a: Visual Studio

Questo articolo presenta i passaggi 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 verificare 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 invece di una compilazione di debug

Lo strumento Pubblica e 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 è 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, potrebbe essere visualizzato un messaggio Nessun simbolo caricato.

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

  • La colonna Stato simbolo indica se i simboli 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 My Code, quindi disabilitare Just My Code o distribuire una compilazione 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 pdb o le 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 abilitare il fallback 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 corrisponde alla 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à. Selezionare la scheda Compilazione. La configurazione di ASP.NET nel server è specifica dello scenario. Per le app di ASP.NET Framework, potrebbe essere necessario impostare la versione del framework nel file web.config .

Non viene visualizzato il processo necessario nella finestra di dialogo Connetti a processo

Alcuni scenari richiedono di collegarsi manualmente al processo corretto. Se si usa Connetti 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 in altri account utente.
  • Per le connessioni lente, è possibile disabilitare l'aggiornamento automatico.
  • Se sono state modificate rispetto alle impostazioni predefinite, i campi Tipo di connessione e Collega a possono limitare i processi visualizzati nell'elenco.

Non si sta associando al processo corretto

Se si usa il collegamento al processo, assicurarsi di collegarsi al processo corretto. Per altre informazioni, vedere Scenari di debug comuni.

Una porta obbligatoria non è aperta

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

È possibile che siano 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.