Postupy: Debug Common Gateway Interface Applications Running Under IIS pomocí Visual Studio

Překlady článku Překlady článku
ID článku: 238788 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Souhrn

Tento podrobný článek popisuje ladění aplikací Common Gateway Interface (CGI), které jsou spuštěny Internetová informační služba (IIS) pomocí libovolné verze Visual Studio.

Ladění aplikace Visual C CGI pomocí Visual Studio

Ladit aplikaci Visual C CGI pomocí libovolné verze Visual Studio, postupujte takto:
  1. Správa služby IIS musí spolupracovat s plochou. Nastavit konfiguraci, postupujte takto:
    1. Otevřete Ovládací Panel a postupujte takto:
      • Windows NT: Klepněte na položku služby.
      • Pro systém Windows 2000, Windows XP a .NET Server: klepněte na položku Nástroje pro správu a potom klepněte na položku služby.
    2. Poklepejte na položku Správa služby IIS.
    3. Na kartě Přihlášení zaškrtněte políčko Povolit služby interakce s plochy.

      Poznámka: Tento článek předpokládá, že Správa služby IIS spuštěn jako místní systém.
    4. Zastavte a restartujte službu IIS Admin Service.
  2. Před zahrnout soubor Windows.h přidejte následující kód a sestavení ladicí verzi CGI:
    #define _WIN32_WINNT 0x0400
    					
  3. Vložte následující kód na začátku 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. Spustit aplikaci CGI.
  5. Připojit ladicí program (například WinDBG nebo Visual C) CGI zpracovat zatímco zobrazí okno zprávy.
  6. Pokud je připojen ladicí program, otevřít zdrojový soubor a nastavte místo přerušení a klepněte na tlačítko OK.

    Při zavření okna se zprávou CGI program obnoví a bude být přístupů místo přerušení.

Pomocí WinDBG

Ladění aplikace CGI s WinDBG, přestože nemají změnit jakýkoli kód, nemáte být obeznámeni se WinDBG a nainstalovat ladicí nástroje. Ladicí nástroje můžete stáhnout z následujícího webu společnosti Microsoft:
Microsoft Debugging Tools
http://www.microsoft.com/whdc/devtools/ddk/default.mspx

Nastavit možnosti Service

Nastavit možnosti Image File spuštění při spuštění služby (nebo CGI program) spustí pod ladicí program. Ujistěte se, že služba může spolupracovat s plochou, podle pokynů výše v tomto článku. Při spuštění programu CGI jinak načte ladicí program a nebude zobrazena.
  1. Spusťte program Editor registru (Regedt32.exe):

    Klepněte na tlačítko Start, klepněte na příkaz Spustit a zadejte příkaz regedt32.
  2. Vyhledejte následující klíč registru:
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image soubor spuštění Options\]
  3. Vytvořte podklíč s názvem spustitelného souboru CGI (například MyCGI.exe)
  4. Do tohoto podklíče přidat hodnotu REG_SZ s názvem Debugger a úplnou cestu k ladicí program, ale vynecháte rozšíření ".exe". Můžete také přidat všechny příkazy pro ladicí program. Výchozí umístění nainstalovat WinDBG je následující:
    "Debugger"="C:\\Debuggers\\windbg.exe"
    Poznámka: Cesta odkazuje ladicí program WinDBG nesmí obsahovat mezery nebo přípony souborů. Například windbg, jak ukazuje následující:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows spuštění souboru NT\CurrentVersion\Image Options\yourCGI.exe "C:\windbg Debugger"=""
  5. Ukončete program Editor registru.
  6. Zastavit a spustit službu IISADMIN a spusťte CGI program.

    Poznámka: Pro ladicí program se zobrazí výchozí plocha musí IIS Admin musí být služba spuštěna jako LocalSystem a zaškrtněte políčko Povolit služby interakce s plochy. Tato konfigurace přejděte ke kroku 1 pokynů výše v tomto článku.
  7. Ladicí program bude spuštěn při obrázku pro službu spustitelného souboru načteny do paměti.
Poznámka: Potřebujete nastavte hodnotu vlastnosti CreateProcessAsUser v metabázi False na připojit ladicí program. Důvodem je, že aplikace CGI spuštěna v účtu může není dědí nastavení Povolit službu interakce s plochou pro službu IIS admin vytvořený CGI spustitelného souboru. Pomocí skriptu správy adsutil.vbs můžete nastavit nastavení Povolit službu interakce s plochou. Ve výchozím nastavení je true. Zadejte například následující příkaz:
adsutil.vbs w3svc/CreateProcessAsUser "false"

Odkazy

Další informace o ladění klepnutím na následující čísla následujících článcích databáze Microsoft Knowledge Base:
273639Postupy: Start IISAdmin a závislé služby pod Debugger
286350Postupy: Použití ADPlus Poradce "Zablokuje" a "Zhroucení"
261871INFORMACE: COM + a MTS ladicí prostředky
183480Postupy: Debug ISAPI DLL V IIS 4.0 a IIS 5.0

Vlastnosti

ID článku: 238788 - Poslední aktualizace: 3. prosince 2007 - Revize: 4.7
Informace v tomto článku jsou určeny pro produkt:
  • 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
Klíčová slova: 
kbmt kbcgi kbhowto kbhowtomaster KB238788 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:238788

Dejte nám zpětnou vazbu

 

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