Comment faire : débogage d'applications commun d'interface au passerelle s'exécutent sous IIS à l'aide de Visual Studio

Traductions disponibles Traductions disponibles
Numéro d'article: 238788 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Sommaire

Résumé

Cette étape par étape explique comment déboguer les applications CGI (Common Gateway Interface) qui sont exécutent sous les services Internet (IIS) en utilisant toute version de Visual Studio.

Déboguer une application CGI C Visual à l'aide de Visual Studio

Pour déboguer une application Visual C CGI en utilisant toute version de Visual Studio, procédez comme suit :
  1. Le service d'administration IIS doit interagir avec le bureau. Pour configurer cela, procédez comme suit :
    1. Ouvrez le Panneau de configuration , procédez comme suit :
      • Pour Windows NT : cliquez sur Services .
      • Pour Windows 2000, Windows XP et .NET Server : cliquez sur Outils d'administration , puis cliquez sur Services .
    2. Double-cliquez sur Service d'administration IIS .
    3. Sous l'onglet connexion , activez le service Autoriser interact avec le bureau .

      note Cet article suppose que le service d'administration IIS s'exécute comme un système local.
    4. Arrêtez et redémarrez le service d'administration IIS.
  2. Avant de vous incluez le fichier Windows.h, ajoutez le code suivant et ensuite créer une version de débogage de l'interface CGI :
    #define _WIN32_WINNT 0x0400
    					
  3. Collez le code suivant au début de l'interface 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. Démarrez l'application CGI.
  5. Attacher un débogueur (tels que WinDBG ou Visual C#) à l'interface CGI processus alors qu'une boîte de message est affichée.
  6. Lorsque le débogueur est attaché, ouvrez le fichier source, définissez un point de saut et puis cliquez sur OK .

    Lorsque la boîte de message est fermée, le programme CGI reprend et le point de rupture va être appuyez sur.

À l'aide de WinDBG

Pour déboguer une application CGI avec WinDBG, bien que vous ne soit pas à modifier n'importe quel code, vous devez être familiarisé avec WinDBG et installer les outils de débogage. Vous pouvez télécharger les outils de débogage dans le site Web Microsoft suivant :
Outils de débogage Microsoft
http://www.microsoft.com/whdc/devtools/ddk/default.mspx

Définir les options de service

Définissez les options exécution de fichier image afin que lorsque le service (ou le programme CGI) démarre, il démarre avec le débogueur. Assurez-vous que le service peut interagir avec le Bureau, comme indiqué plus haut dans cet article. Sinon, lorsque le programme CGI démarre, il charge le débogueur et vous ne le verrez pas.
  1. Démarrez l'Éditeur du Registre (Regedt32.exe) :

    Cliquez sur Démarrer , cliquez sur Exécuter et tapez regedt32 .
  2. Recherchez la clé de Registre suivante :
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image fichier exécution Options\]
  3. Créer une sous-clé avec le nom de votre fichier exécutable CGI (par exemple, MyCGI.exe).
  4. Pour cette sous-clé, ajoutez la valeur REG_SZ débogueur et le chemin complet vers le débogueur, mais omettre l'extension « .exe ». Vous pouvez également ajouter des commandes pour le débogueur. L'emplacement par défaut pour installer le WinDBG est le suivant :
    « Debugger"="C:\\Debuggers\\windbg.exe »
    note Le chemin qui pointe vers le débogueur WinDBG ne doit pas contenir des espaces ou les extensions de fichier. Par exemple, windbg, comme illustré dans le code suivant :
    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Image fichier exécution Options\yourCGI.exe "C:\windbg débogueur "=" "
  5. Fermez l'Éditeur du Registre.
  6. Arrêter et démarrer le service IISADMIN et exécuter le CGI programme.

    note Pour le débogueur apparaissent sur le Bureau par défaut, l'administrateur de services Internet (IIS) service doit s'exécuter que système local et vous devez activez le service Autoriser interact avec le bureau . Pour configurer cela, accédez à l'étape 1 des instructions plus haut dans cet article.
  7. Le débogueur démarrera lorsque l'image pour le service de fichier exécutable est chargé en mémoire.
note Vous devrez peut-être définir la valeur de la propriété CreateProcessAsUser dans la métabase sur false afin d'attacher un débogueur. Cela est dû au fait que le compte qui exécute l'application CGI dans peut héritent pas le paramètre Autoriser le service interact avec le bureau pour le service d'administration IIS lorsque le fichier exécutable CGI est généré. Vous pouvez utiliser le script d'administration adsutil.vbs pour définir le paramètre Autoriser le service interact avec le bureau . Par défaut, le paramètre est true . Par exemple, utilisez la commande suivante :
Adsutil.vbs W3SVC/CreateProcessAsUser false »

Références

Pour plus d'informations sur le débogage, cliquez sur les numéros ci-dessous pour afficher les articles correspondants dans la Base de connaissances Microsoft :
273639 Comment faire : Démarrer IISAdmin et les services dépendants sous un débogueur
286350 Comment faire : utiliser ADPlus pour dépanner "blocages et "incidents
261871 INFO: COM + et MTS débogage des ressources
183480 Comment faire pour déboguer des DLL ISAPI dans IIS 4.0 et IIS 5.0

Propriétés

Numéro d'article: 238788 - Dernière mise à jour: lundi 3 décembre 2007 - Version: 4.7
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • 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
Mots-clés : 
kbmt kbcgi kbhowto kbhowtomaster KB238788 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 238788
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

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