Come eseguire il debug delle DLL ISAPI in IIS 4.0, IIS 5.0, IIS 5.1 e IIS 6.0

Identificativo articolo: 183480 - Visualizza i prodotti a cui si riferisce l?articolo.
È vivamente consigliabile che tutti gli utenti eseguire l'aggiornamento per Microsoft Internet Information Services (IIS) 7.0 in esecuzione su Microsoft Windows Server 2008. IIS 7.0 aumenta notevolmente la protezione dell'infrastruttura Web. Per ulteriori informazioni su argomenti relativi alla protezione IIS, visitare il sito di Web di Microsoft:
http://www.microsoft.com/technet/security/prodtech/IIS.mspx
Per ulteriori informazioni su IIS 7.0, visitare il sito di Web di Microsoft:
http://www.iis.net/default.aspx?tabid=1
Espandi tutto | Chiudi tutto

In questa pagina

INTRODUZIONE

In questo articolo viene descritto un metodo che è possibile utilizzare per eseguire il debug un'estensione ISAPI (Internet Server API) o un file DLL di filtro. È necessario disporre di Microsoft Visual c ++ presenti nel computer che esegue Microsoft Internet Information Services (IIS).

Informazioni

Come eseguire il debug delle DLL ISAPI in IIS 4.0, IIS 5.0 e IIS 5.1

  1. Creare una versione di debug della DLL ISAPI. Per impostazione predefinita, la sottodirectory di debug del progetto ora conterrà *.dll e due file con estensione PDB (ad esempio, c:\MyProj\debug directory).
  2. Creare una radice virtuale eseguire autorizzazioni in Gestione di IIS console, quindi impostare la posizione fisica su directory di debug del progetto (ad esempio, directory principale virtuale /MyProj verrà essere associati a c:\MyProj\Debug).
  3. Assicurarsi che il servizio W3SVC è in esecuzione. Avviarlo se non è (è possibile utilizzare questo comando: net start w3svc ).
  4. Avviare Microsoft Developer Studio. Fare clic su Avvia Debug dal menu Genera e quindi fare clic su Connetti processo . Selezionare l'opzione Mostra i processi di sistema . In un computer basato su Microsoft Windows 2000, a volte Nessun processo verrà visualizzato nell'elenco processo.

    Per ulteriori informazioni a questo riguardo, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
    235434FIX: Elenco di "Connettersi al processo" è vuoto
    Per associare un debugger a un determinato processo, fare clic sulla scheda processi di Task Manager , fare clic con il pulsante destro del mouse il processo che si desidera e scegliere debug .
  5. Nell'elenco dei processi in esecuzione, selezionare INETINFO .
  6. Dal menu progetto , fare clic su Impostazioni , quindi sulla scheda debug . Nell'elenco categoria , fare clic su DLL aggiuntive .

    A questo punto, verrà visualizzato il messaggio indicante che sono stati caricati i simboli DLL.
  7. Aggiungere l'estensione ISAPI o DLL del filtro all'elenco.
  8. Dal menu file , fare clic su Apri e quindi visualizzare il file di origine per la DLL. Impostare un punto di interruzione nel codice sorgente e quindi inviare una richiesta a IIS dal browser (ad esempio, http:// server/myproj/mydll dll). Se il debugger attivato un segnale acustico e rifiuta impostare il punto di interruzione, è necessario che il motivo possibile una mancata corrispondenza tra i file DLL e PDB. Rigenerare la DLL per risolvere questa situazione.
Nota : se l'applicazione è configurata per eseguire out-of-process in IIS 4.0 (o in IIS 5.0 o IIS 5.1 con impostazione Protezione Media o alta ), collegando il debugger in Inetinfo.exe, questo non viene interrotta l'esecuzione di una DLL di estensione. È necessario connettere il debugger al processo Mtx.exe (o Dllhost.exe su un Windows 2000 o di un sistema basato su Microsoft Windows XP) che ospita la DLL ISAPI. Poiché possono esistere più processi mtx.exe (Dllhost.exe) in esecuzione contemporaneamente, potrebbe essere necessario aggiungere il codice della DLL ISAPI che mostra l'ID di processo (PID) in cui la DLL viene caricata. Dopo il numero di serie è noto, è possibile collegare il debugger per il MTX (DLLHOST) con il corrispondente numero di serie. Per effettuare questa operazione, utilizzare il codice seguente:
#define _WIN32_WINNT 0x0400

#ifdef _DEBUG
char szMessage [256];
wsprintf (szMessage, "Please attach a debugger to the process 0x%X and click OK", 
										GetCurrentProcessId());
MessageBox(NULL, szMessage, "ISAPI/Filter Debug Time!",
                 MB_OK|MB_SERVICE_NOTIFICATION);
#endif
				
anche notare che l'impostazione di Protezione di supporto è l'impostazione predefinita di IIS 5.0.

Come eseguire il debug di una DLL ISAPI in IIS 6

Se si esegue IIS 6 in modalità di isolamento di IIS 5, estensioni e filtri vengono caricati per Inetinfo.exe. È possibile utilizzare la procedura descritta nella sezione "Come eseguire il debug delle DLL ISAPI in IIS 4.0, IIS 5.0 e IIS 5.1" eseguire il debug un'estensione ISAPI o di una DLL di filtro di file quando IIS 6 viene eseguito in modalità di isolamento di IIS 5.

Se si esegue IIS 6 in modalità di isolamento processo di lavoro, le estensioni e i filtri vengono caricati dal w3wp.exe. Per eseguire il debug un'estensione ISAPI o un filtro DLL in Microsoft Visual c ++. NET, attenersi alla seguente procedura:
  1. Fare clic su Start , scegliere Esegui , digitare Cmd e quindi fare clic su OK .
  2. Al prompt dei comandi, digitare net stop W3svc e quindi premere INVIO.
  3. Consente di aprire l'estensione ISAPI o un progetto DLL di filtro in Visual c ++. NET.
  4. Nel menu progetto , fare clic su Proprietà .
  5. Fare clic su debug e quindi digitare il percorso del file w3wp.exe del computer nella casella comando .
  6. Digitare - eseguire il debug nella casella Argomenti del comando e quindi fare clic su OK .
  7. Impostare i punti di interruzione nel progetto.
  8. Nel menu debug , fare clic su Start .
Nota Questo metodo debug esegue w3wp.exe nel contesto di protezione dell'utente. Non si tratta di contesto di protezione in cui W3WP.exe viene normalmente eseguita.

Riferimenti

Il processo per eseguire il debug delle estensioni ISAPI e i filtri in IIS è completamente illustrato nella documentazione MSDN (informazioni in lingua inglese). Questa documentazione è reperibile nel seguente percorso:
   Web Development
      Server Technologies
         Internet Information Services (IIS)
            SDK Documentation
               Internet Information Services 5.1
                  Programmer's Guide
                     Developing ISAPI Extension and Filters
                        Debugging ISAPI Extensions and Filters
				
si noti che questa documentazione non è installata mediante l'opzione di installazione predefinita di NT Option Pack o l'aggiunta di IIS a Windows 2000 o Windows XP. Per ottenere questa documentazione, visitare il sito di MSDN:
http://msdn.microsoft.com/library
È anche possibile scaricare la documentazione in formato compilato sul disco rigido locale. Per effettuare questa operazione, visitare il sito di download di Microsoft:
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm

Proprietà

Identificativo articolo: 183480 - Ultima modifica: lunedì 7 luglio 2008 - Revisione: 7.2
Le informazioni in questo articolo si applicano a:
  • Microsoft Internet Information Services version 5.1
  • Microsoft Internet Information Services 5.0
  • Microsoft Internet Information Server 4.0
  • Microsoft Internet Information Services 6.0
Chiavi: 
kbmt kbtshoot kbbug kbdebug kbhowtomaster KB183480 KbMtit
Traduzione automatica articoli
Il presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 183480
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti