Jak ladění ISAPI DLL v IIS 4.0, IIS 5.0, IIS 5.1 a IIS 6.0

Překlady článku Překlady článku
ID článku: 183480 - Produkty, které se vztahují k tomuto článku.
Důrazně doporučujeme, aby všichni uživatelé upgradovat Internetová informační služba (IIS) verze 7.0 systémem Microsoft Windows Server 2008. IIS 7.0 výrazně zvyšuje zabezpečení webové infrastruktury. Další informace o tématech souvisejících se zabezpečením Internetové informační služby naleznete na následujícím webu společnosti Microsoft:
http://www.microsoft.com/technet/security/prodtech/IIS.mspx
Další informace o službě IIS 7.0 naleznete na následujícím webu:
http://www.iis.net/default.aspx?tabid=1
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Úvod

Tento článek popisuje jednu metodu můžete použít k ladění rozšíření Internet Server API (ISAPI) nebo soubor DLL filtru. Musíte mít Microsoft Visual C++ nainstalován v počítači se systémem Internetová informační služba (IIS).

Další informace

Jak ladění ISAPI DLL v IIS 4.0, IIS 5.0 a IIS 5.1

  1. Sestavení ladicí verzi ISAPI DLL. Ve výchozím nastavení bude podadresář ladění projektu nyní obsahovat *.dll a dva soubory s příponou *.pdb (například adresář c:\MyProj\debug).
  2. Vytvořit virtuální kořenový adresář s spuštění oprávnění správce IIS konzoly a poté nastavte fyzické umístění adresáře ladění projektu (například /MyProj virtuální kořenový adresář bude být namapována na c:\MyProj\Debug).
  3. Přesvědčte se, zda je spuštěna služba W3SVC. Není-li jej spustit (pomocí tohoto příkazu: net start w3svc).
  4. Spusťte Microsoft Developer Studio. V nabídce vytvořit klepněte na tlačítko Start Debug a pak klepněte na tlačítko Připojit proces. Vyberte možnost Zobrazit systémové procesy. Na počítači se systémem Microsoft Windows 2000 někdy žádné procesy se zobrazí v seznamu proces.

    Další informace o tomto problému naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:
    235434Oprava: "Připojit k procesu" seznam je prázdný
    Chcete-li určitého procesu připojit ladicí program, klepněte na kartě Procesy Správce úloh, klepněte pravým tlačítkem myši na proces, který chcete a klepněte na ladění.
  5. V seznamu spuštěných procesů vyberte INETINFO.
  6. V nabídce projekt klepněte na tlačítko Nastavení a potom klepněte na kartu ladění. V seznamu Druh klepněte na tlačítko Další dll.

    V tomto bodě by se měl zobrazit zpráva oznamující, že byly načíst DLL symboly.
  7. Přidání rozšíření ISAPI nebo filtru DLL do seznamu.
  8. V nabídce soubor klepněte na tlačítko Otevřít a potom vyvolat zdrojový soubor pro DLL. Nastavit zarážku zdrojový kód a potom odeslat žádost o IIS z prohlížeče (například http:// server/myproj/mydll dll). Pokud ladicí program neumožňuje a odmítne nastavte místo přerušení, může být důvodem pro tento Neshoda mezi soubory DLL a PDB. Znovu sestavit DLL odstraňování této situaci.
Poznámka: Pokud je aplikace nakonfigurována ke spuštění out proc ve verzi 4.0 (nebo na IIS 5.0 nebo IIS 5.1 s Ochrana aplikace nastavení Střední nebo Vysoká) připojíte ladicí program Inetinfo.exe, tato není přerušit provádění příponu DLL. Je nutné připojit ladicí program MTX.exe procesu (nebo Dllhost.exe v systému Windows 2000 nebo systému Microsoft Windows XP), který je hostitelem ISAPI DLL. Protože může být spuštěna najednou více než jeden proces MTX.exe (Dllhost.exe), bude možná nutné přidat kód ISAPI DLL, která zobrazuje ID procesu (PID), ve které je načten DLL. Po PID známé, můžete připojit ladicí program k MTX (DLLHOST) s odpovídající PID. Pomocí následující kód:
#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
				
také, Poznámka: nastavení Ochrana aplikaceStřední je výchozí nastavení služby IIS 5.0.

Jak lze ladit ISAPI DLL v IIS 6

Pokud spustíte v režimu izolace IIS 5 IIS 6, rozšíření a filtry načteny podle Inetinfo.exe. Můžete pomocí kroků v části „ Jak ladění ISAPI DLL v IIS 4.0, IIS 5.0 a IIS 5.1 „ ladění rozšíření ISAPI nebo DLL filtru souborů při IIS 6 spustí v režimu izolace IIS 5.

Pokud spustíte v režimu izolace pracovních procesů IIS 6, rozšíření a filtry načteny podle W3wp.exe. Ladění rozšíření ISAPI nebo filtru DLL v aplikaci Microsoft Visual C++ .NET, postupujte takto:
  1. Klepněte na tlačítko Start, klepněte na příkaz Spustit, zadejte Cmd a klepněte na tlačítko OK.
  2. Na příkazovém řádku zadejte net stop W3svc a stiskněte klávesu ENTER.
  3. Otevřete projekt DLL filtru nebo rozšíření ISAPI v Visual C++ .NET.
  4. V nabídce projekt klepněte na tlačítko Vlastnosti.
  5. Ladění klepněte a zadejte cestu k souboru W3wp.exe v počítači v poli příkaz.
  6. Zadejte Argumenty příkazového pole - ladění a potom klepněte na tlačítko OK.
  7. Nastavit zarážky v projektu.
  8. V nabídce Debug klepněte na tlačítko Start.
Poznámka: Tato metoda ladění W3wp.exe spuštěna v kontextu zabezpečení uživatele. Toto je kontext zabezpečení, ve kterém W3wp.exe normálně spuštěn.

Odkazy

Proces ladění rozšíření ISAPI a filtry pod IIS je plně vysvětlena v dokumentaci Microsoft Developer Network (MSDN). Tato dokumentace lze nalézt v následujícím umístění:
   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
				
Poznámka Tato dokumentace výchozí možnost instalace NT Option Pack nebo přidáním IIS systému Windows 2000 nebo Windows XP není nainstalována. Získání této dokumentace naleznete na následujícím webu:
http://msdn.microsoft.com/library
Tato dokumentace ve formátu kompilované nápovědy můžete stáhnout také místní pevný disk. Chcete-li to provést, navštivte následující stažení společnosti Microsoft:
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm

Vlastnosti

ID článku: 183480 - Poslední aktualizace: 7. července 2008 - Revize: 7.2
Informace v tomto článku jsou určeny pro produkt:
  • 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
Klíčová slova: 
kbmt kbtshoot kbbug kbdebug kbhowtomaster KB183480 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:183480

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