HOW TO: Debug di applicazioni di interfaccia gateway comuni e in esecuzione in IIS utilizzando Visual Studio

Traduzione articoli Traduzione articoli
Identificativo articolo: 238788 - Visualizza i prodotti a cui si riferisce l?articolo.
Espandi tutto | Chiudi tutto

In questa pagina

Sommario

In questo articolo viene descritto come debug di applicazioni CGI (Common Gateway Interface) in esecuzione in Internet Information Services (IIS) con qualsiasi versione di Visual Studio.

Debug di un'applicazione CGI C Visual utilizzando Visual Studio

Per debug di un'applicazione Visual C CGI con qualsiasi versione di Visual Studio, attenersi alla seguente procedura:
  1. Servizio amministrazione di IIS deve interagire con il desktop. A questo scopo, attenersi alla seguente procedura:
    1. Aprire il Pannello di controllo e attenersi alla seguente procedura:
      • Fare clic su servizi per Windows NT:.
      • Per Windows 2000, Windows XP e server: fare clic su Strumenti di amministrazione e quindi su servizi .
    2. Fare doppio clic su Amministrazione di IIS .
    3. Nella scheda Connessione , selezionare la casella di controllo Consenti al servizio di interagire col desktop .

      Nota Questo articolo si presuppone che il servizio Amministrazione di IIS viene eseguito come sistema locale.
    4. Arrestare e riavviare il servizio Amministrazione IIS.
  2. Prima di includere il file Windows.h, aggiungere il codice riportato di seguito e quindi creare una versione di debug del CGI:
    #define _WIN32_WINNT 0x0400
    					
  3. Incollare il codice seguente all'inizio il CGI:
    #ifdef _DEBUG
    char szMessage [256];
    wsprintf (szMessage, "Please attach a debugger to the process 0x%X (%s) and click OK",
          GetCurrentProcessId(), argv[0]);
    MessageBox(NULL, szMessage, "CGI Debug Time!",
          MB_OK|MB_SERVICE_NOTIFICATION);
    #endif
    					
  4. Avviare l'applicazione CGI.
  5. Connettere un debugger (ad esempio WinDBG o Visual C) la CGI processo mentre Ŕ visualizzata una finestra di messaggio.
  6. Quando il debugger Ŕ collegato, aprire il file di origine e impostare un punto di interruzione e quindi fare clic su OK .

    Quando viene chiusa la finestra di messaggio, il programma CGI viene riattivato e il punto di interruzione verrÓ raggiunto.

Utilizzo di WinDBG

Per eseguire il debug un'applicazione di CGI con WinDBG, anche se non si dispone di modificare qualsiasi codice, Ŕ necessario avere familiaritÓ con WinDBG e installare gli strumenti di debug. ╚ scaricabile gli strumenti di debug il seguente sito Web:
Microsoft Debugging Tools
http://www.microsoft.com/whdc/devtools/ddk/default.mspx

Impostare le opzioni servizio

Impostare le opzioni di Immagini l'esecuzione in modalitÓ file in modo che quando viene avviato il servizio (o il programma CGI), venga eseguito nel debugger. Assicurarsi che il servizio pu˛ interagire con il desktop, come indicato in precedenza in questo articolo. In caso contrario, quando viene avviato il programma CGI, carica il debugger e non verrÓ visualizzato.
  1. Avviare l'editor del Registro di configurazione (Regedt32.exe):

    Fare clic su Start , scegliere Esegui e digitare regedt32 .
  2. Individuare la seguente chiave di registro:
    [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\]
  3. Creare una sottochiave con il nome del file eseguibile CGI (ad esempio, MyCGI.exe).
  4. Per questa sottochiave, aggiungere il valore REG_SZ denominato debugger e il percorso completo per il debugger, ma omette l'estensione "exe". ╚ anche possibile aggiungere i comandi per il debugger. Il percorso predefinito per l'installazione di WinDBG Ŕ il seguente:
    "Debugger"="C:\\Debuggers\\windbg.exe"
    Nota Il percorso che punta al debugger WinDBG non deve contenere spazi o le estensioni di file. Ad esempio, windbg, come illustrato di seguito:
    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\yourCGI.exe "C:\windbg debugger"=""
  5. Chiudere l'editor del Registro di sistema.
  6. Interrompere e avviare il servizio IISADMIN e quindi eseguire CGI il programma.

    Nota Per il debugger possa visualizzare sul desktop predefinito, Ŕ necessario che l'amministratore di IIS servizio deve essere eseguito come sistema locale e selezionare la casella di controllo Consenti al servizio di interagire col desktop . Per configurare questa impostazione, visitare il passaggio 1 delle istruzioni di questo articolo.
  7. Il debugger verrÓ avviato quando l'immagine per il servizio file eseguibile viene caricato in memoria.
Nota SarÓ necessario impostare il valore della proprietÓ CreateProcessAsUser della metabase su false per allegare un debugger. Infatti, l'account cui l'applicazione CGI viene eseguito non pu˛ ereditare l'impostazione Consenti il servizio di interagire col desktop per il servizio di amministrazione IIS quando viene generato il file eseguibile di CGI. ╚ possibile utilizzare lo script di amministrazione di adsutil.vbs per impostare l'impostazione Consenti il servizio di interagire col desktop . Per impostazione predefinita, l'impostazione Ŕ true . Ad esempio, Ŕ possibile utilizzare il comando seguente:
adsutil.vbs w3svc/CreateProcessAsUser "false"

Riferimenti

Per ulteriori informazioni sul debug, fare clic sui numeri degli articoli della Microsoft Knowledge Base riportato di seguito:
273639HOW TO: Start IISAdmin e i servizi dipendenti in un debugger
286350Procedura: Utilizzo ADPlus dei problemi di "Blocco" e "Blocchi"
261871INFORMAZIONI: COM + e MTS di risorse di debug
183480HOW TO: Debug di DLL ISAPI in IIS 4.0 e IIS 5.0

ProprietÓ

Identificativo articolo: 238788 - Ultima modifica: lunedý 3 dicembre 2007 - Revisione: 4.7
Le informazioni in questo articolo si applicano a:
  • Microsoft Internet Information Server 2.0
  • Microsoft Internet Information Server 3.0
  • Microsoft Internet Information Server 4.0
  • Microsoft Internet Information Services 5.0
  • Microsoft Internet Information Services version 5.1
  • Microsoft Internet Information Services 6.0
Chiavi:á
kbmt kbcgi kbhowto kbhowtomaster KB238788 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: 238788
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

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com