Errore: impossibile avviare il debug sul server Web
Durante il debug di un'applicazione in esecuzione in un server Web, è possibile che venga visualizzato il seguente messaggio di errore:
Unable to start debugging on the Web server
Se il messaggio è più lungo, verrà trattato in un argomento secondario.
Se si verifica questo errore, tenere presenti le informazioni riportate di seguito. Innanzitutto vedere Verifiche necessario, quindi considerare gli elementi rimanenti in base alla propria configurazione hardware e software.
Verifiche necessarie
Applicazioni Web su server remoti
Applicazioni Web inserite in Visual SourceSafe e utilizzo delle estensioni del server di FrontPage
Connessione manuale a processi esterni
La richiesta di debug non è stata elaborata dal server a causa della sintassi non valida
Verifiche necessarie
Verificare quanto segue:
Rivedere le procedure di installazione di ASP.NET o ATL Server. Per ulteriori informazioni, vedere Preparazione al debug di ASP.NET.
Si dispone dei privilegi di accesso necessari per il debug. Per ulteriori informazioni, vedere la sezione Requisiti di sicurezza in Requisiti di sistema per il debug di ASP.NET.
La versione di Windows in uso consente la connessione automatica del debugger di Visual Studio a un'applicazione Web. In caso contrario, eseguire l'applicazione senza le funzionalità di debug e connettere manualmente il debugger. Per ulteriori informazioni, vedere Connessione manuale a processi esterni e Requisiti di sistema per il debug di ASP.NET.)
L'applicazione Web dispone di un file Web.config.
Il file Web.config consente la modalità debug tramite impostazione dell'attributo debug su true. Per ulteriori informazioni, vedere Procedura: attivare il debug per applicazioni ASP.NET.
Il file Web.config non contiene errori di sintassi. Per verificare la presenza di errori di sintassi, eseguire l'applicazione Web senza debug, scegliendo Avvia senza eseguire debug dal menu Debug. Se nel file Web.config sono presenti errori di sintassi, verranno visualizzate informazioni a riguardo.
Il progetto non è stato creato specificando un indirizzo IP specifico, ad esempio 100.20.300.400. Il debug di un server Web richiede l'autenticazione NTLM. Per impostazione predefinita, gli indirizzi IP vengono considerati indirizzi Internet e l'autenticazione NTLM non viene eseguita su Internet. Per risolvere il problema:
Alla creazione del progetto specificare il nome del computer sulla rete Intranet.
- oppure -
Aggiungere l'indirizzo IP, ad esempio http://100.20.300.400, all'elenco dei siti attendibili. A questo scopo, scegliere Opzioni Internet dal menu Strumenti di Internet Explorer e selezionare la scheda Sicurezza.
Le estensioni necessarie sono registrate nel computer server. In caso contrario, registrare nuovamente ASP.NET come descritto nella procedura riportata di seguito.
IIS è stato installato dopo Visual Studio nel computer locale, che esegue Visual Studio. IIS deve essere installato prima di Visual Studio. Se viene installato dopo, può essere necessario ripetere la registrazione di ASP.NET.
Per ripetere la registrazione di ASP.NET
Dalla finestra del prompt dei comandi eseguire il comando systemroot\Microsoft.NET\Framework\ versionNumber \aspnet_regiis -i.
Nota Con Windows Server 2003 è possibile installare ASP.NET mediante l'applicazione Installazione applicazioni del Pannello di controllo.
Inserire il disco di Visual Studio, eseguire il programma di installazione e selezionare Ripristina/Reinstalla. In questo modo verrà creata la condivisione wwwroot$ e verranno aggiunte le autorizzazioni adeguate.
Il nome del sito di cui è stato eseguito il mapping all'indirizzo di loopback locale durante l'autenticazione integrata è attivato? Vedere l'articolo della Knowledge Base per una risoluzione.
L'URL della pagina iniziale del progetto è stato specificato correttamente. L'estensione e la directory del progetto sono corrette.
Verificare le impostazioni di IIS per l'applicazione Web. Per ulteriori informazioni, vedere Procedura: verificare le impostazioni delle proprietà di IIS.
Se nel server Web sono installate due versioni di .NET Framework, verificare che nelle impostazioni di IIS sia specificata la versione corretta. Per ulteriori informazioni, vedere Procedura: verificare le impostazioni delle proprietà di IIS.
Applicazioni Web su server remoti
Se l'applicazione Web si trova in un server remoto, accertarsi innanzitutto di avere verificato quanto indicato nella sezione Verifiche necessarie. Verificare quindi quanto segue:
Nel server in cui è in esecuzione Server IIS sono installati i componenti remoti Visual Studio. Per ulteriori informazioni, vedere Preparazione al debug di ASP.NET.
Si dispone dei privilegi di accesso necessari per il debug. Per ulteriori informazioni, vedere la sezione Requisiti di sicurezza in Requisiti di sistema per il debug di ASP.NET.
Per il debug di un'applicazione Web su un computer remoto non si utilizza Terminal Server. Il debug remoto delle applicazioni Web native con Terminal Server è supportato solo in Windows XP. Non è supportato in Windows 2000 o Windows NT.
Applicazioni Web inserite in Visual SourceSafe e utilizzo delle estensioni del server di FrontPage
Se l'applicazione Web è archiviata in Visual SourceSafe e utilizza le estensioni del server di FrontPage come modalità di accesso al Web, verificare che siano soddisfatte le condizioni elencate di seguito.
- Visual SourceSafe è installato nello stesso computer in cui è installato il server di FrontPage o il server Web. In questo caso è possibile eseguire il debug utilizzando l'autenticazione integrata. Per verificare l'impostazione di autenticazione integrata, vedere la procedura Per controllare le impostazioni IIS per l'applicazione Web nel seguente argomento: Procedura: verificare le impostazioni delle proprietà di IIS.
La richiesta di debug non è stata elaborata dal server a causa della sintassi non valida
Talvolta il server non è in grado di elaborare una richiesta di debug a causa di sintassi non valida. La sintassi di richiesta non valida può essere causata da errori nel file machine.config. Questo errore si verifica se nel file machine.config maxRequestLength è impostato su un valore estremamente grande, come 40.960.000.
Connessione manuale a processi esterni
Se dopo avere seguito tutte le indicazioni fornite per la risoluzione dei problemi viene visualizzato ancora un messaggio di errore all'avvio del debug, provare a eseguire il debug dell'applicazione con una connessione manuale.
Per eseguire una connessione manuale
Avviare l'applicazione senza eseguire il debug, scegliendo Avvia senza eseguire debug dal menu Debug.
Determinare il nome del processo IIS o del processo di lavoro appropriato. Le applicazioni ATL Server sono denominate inetinfo.exe per impostazione predefinita. Per determinare il nome del processo di lavoro ASP.NET, vedere Procedura: individuare il nome del processo ASP.NET.
Per determinare il processo in cui viene eseguita un'applicazione ASP.NET o ATL Server, attenersi a una delle procedure riportate di seguito.
Eseguire la connessione al processo determinato nel passaggio precedente. Per ulteriori informazioni, vedere How to: Attach to a Running Process.
Per verificare il processo in cui viene eseguita un'applicazione ASP.NET
In Visual Studio o in un altro editor di testo aprire il file machine.config relativo all'applicazione.
Nel nodo system.web, individuare il nodo ProcessModel ed esaminarne l'attributo enable:
Se enable è impostato su TRUE, l'applicazione viene eseguita in aspnet_wp.exe o w3wp.exe, secondo l'impostazione predefinita.
Se enable è impostato su FALSE, significa che l'applicazione viene eseguita in inetinfo.exe.
Per verificare il processo in cui viene eseguita un'applicazione ATL Server
In Esplora soluzioni, fare clic con il pulsante destro del mouse sul nome del progetto e scegliere Proprietà dal menu di scelta rapida.
Nella finestra di dialogo Pagine delle proprietà di <Progetto> aprire la cartella Distribuzione Web e scegliere Generale.
Visualizzare le impostazioni di Sicurezza applicazione.
Se il valore delle impostazioni della sicurezza è Bassa (processo di IIS), significa che l'applicazione viene eseguita in inetinfo.exe.
Se il valore delle impostazioni della sicurezza è Media (pool), significa che l'applicazione viene eseguita in un processo dllhost.exe, insieme ad altre applicazioni ATL Server in pool.
Se il valore delle impostazioni della sicurezza è Alta (isolata), significa che l'applicazione viene eseguita in un processo dllhost.exe, separatamente da altre applicazioni ATL Server.
Scegliere OK per chiudere la finestra di dialogo Pagine delle proprietà di <Progetto>.
Vedere anche
Attività
Errore: il server Web non è in grado di trovare la risorsa richiesta
Riferimenti
Debug di applicazioni Web: errori e risoluzione dei problemi