Makale numarası: 183480 - Son Gözden Geçirme: 07 Temmuz 2008 Pazartesi - Gözden geçirme: 7.2

ISAPI DLL'ler, IIS 4.0, IIS 5.0, IIS 5.1 ve IIS 6.0 hata ayıklama hakkında

Sistem İpucuBu makale, kullandığınızdan farklı bir işletim sistemine yöneliktir. Sizinle ilgili olmayabilecek makale içeriği devre dışı bırakıldı.
Tüm kullanıcıların Microsoft ınternet ınformation Services (IIS) sürüm 7.0 yükseltmenizi öneririz Microsoft Windows Server 2008 çalışan. IIS 7.0, Web altyapı güvenliği önemli ölçüde artırır. IIS güvenliği ile ilgili konular hakkında daha fazla bilgi için aşağıdaki Microsoft Web sitesini ziyaret edin:
http://www.microsoft.com/technet/security/prodtech/IIS.mspx (http://www.microsoft.com/technet/security/prodtech/IIS.mspx)
IIS 7.0 hakkında daha fazla bilgi için aşağıdaki Microsoft Web sitesini ziyaret edin:
http://www.iis.net/default.aspx?tabid=1 (http://www.iis.net/default.aspx?tabid=1)

Bu Sayfada

Hepsini aç | Hepsini kapa

Giriş

Bu makalede, bir ınternet Server API (ISAPI) uzantısı veya filtresi bir DLL dosyası, hata ayıklamak için kullanabileceğiniz bir yöntem açıklanır. Microsoft Visual C++, Microsoft ınternet ınformation Services (IIS) çalıştıran bilgisayarda yüklü olması gerekir.

Daha fazla bilgi

IIS 4.0, IIS 5.0 ve IIS 5.1 ISAPI dll'hata ayıklama hakkında

  1. Bir ISAPI DLL hata ayıklama sürümünü oluşturun. Varsayılan olarak, proje <a1>Debug</a1> alt şimdi *.dll ve (örneğin, dizin c:\MyProj\debug) *.pdb uzantılı iki dosya içerir.
  2. Bir sanal kökü Oluştur ile IIS yönetiminde yürütme izinleri Konsolu'nu ve projenin Debug dizinine fiziksel konumunu ayarlayın (örneğin, /MyProj sanal kök için c:\MyProj\Debug eşleştirilir).
  3. W3SVC hizmetini çalıştırdığından emin olun. Başlatılsın değilse (Bu komutu kullanabilirsiniz: net start w3svc).
  4. Microsoft Developer Studio başlatın. Yapı) menüsünde, Başlat'ı Debug ' ı tıklatın ve İşlem Ekle</a1>'ı tıklatın. Sistem işlemlerini göster seçeneğini belirleyin. Microsoft Windows 2000 tabanlı bir bilgisayarda, bazen yok işlemleri işlem listesinde görüntülenir.

    Bu sorun hakkında ek bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
    235434  (http://support.microsoft.com/kb/235434/ ) Düzeltme: "işleme Ekle" listesi yok
    Belirli bir işleme bir hata ayıklayıcısı eklemek için <a0></a0>, Görev Yöneticisi işlemler</a0> sekmesini tıklatın, sonra da istediğiniz işlemi sağ tıklatın ve sonra da <a2>debug</a2>'ı tıklatın.
  5. Çalışan işlemlerin listesinde INETINFO seçin.
  6. Proje menüsünde Ayarlar ' ı tıklatın ve sonra da Debug sekmesini tıklatın. Kategori listesinde, Ek bir DLL ' i tıklatın.

    Bu noktada, DLL simgeler yüklenen bildiren bir ileti görmelisiniz.
  7. DLL listeye filtre uygulamak veya, ISAPI uzantısı'nı ekleyin.
  8. Dosya menüsünden ' ı tıklatın ve sonra da DLL için kaynak dosyanın getirin. Kaynak kodunda kesme noktası ayarlamak ve sonra ııS'E (örneğin, http:// server/myproj/mydll .dll) tarayıcıdan bir isteği gönderin. Hata ayıklayıcısını bip sesi çıkarıyor ve kesme noktası ayarlamak reddeder, bunun nedeni DLL ve PDB dosyaları arasında bir uyumsuzluk olabilir. DLL, bu durum giderilir</a1> yeniden oluşturun.
Not: uygulama IIS 4.0 (veya IIS 5.0 veya IIS 5.1 ve Ortayüksek bir Uygulama koruması ayarıyla), işlem dışı çalışmak üzere yapılandırıldığı, ınetinfo.exe için hata ayıklayıcıyı ekleyerek, bu uzantı DLL'SI yürütülmesini kesilir değil. ISAPI DLL'i barındıran hata ayıklayıcısını MTX.exe işlemi (veya Windows 2000 veya Microsoft Windows XP tabanlı bir sistemin Dllhost.exe) iliştirmeniz gerekir. Olabileceğinden aynı anda çalışan birden fazla MTX.exe (Dllhost.exe) işlemi, DLL yüklenen işlem KIMLIĞI (PID) gösteren ISAPI DLL kodunu eklemek zorunda kalabilirsiniz. PID bilinen sonra hata ayıklayıcısını için MTX (DLLHOST) ile ilgili PID iliştirebilirsiniz. Bunu yapmak için şu kodu kullanın:
#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
				
Ayrıca, Uygulama koruma ayarını Orta IIS 5. 0'ın varsayılan ayarı unutmayın.

IIS 6'daki bir ISAPI DLL'hata ayıklama hakkında

IIS 5 yalıtım modunda IIS 6 çalıştırırsanız, uzantıları ve filtreleri ınetinfo.exe işlemi tarafından yüklenir. Bir ISAPI uzantısı veya filtre DLL'SI, hata ayıklamak için "IIS 4.0, IIS 5.0 ve IIS 5.1 ISAPI dll'hata ayıklamak" bölümüne, IIS 6 IIS 5 yalıtım modunda çalıştığında, dosya içindeki adımları kullanabilirsiniz.

Alt işlem yalıtım modunda IIS 6 çalıştırırsanız, uzantıları ve filtreleri W3wp.exe işlemi tarafından yüklenir. Bir ISAPI uzantısı veya filtre DLL'SI, Visual C++ .NET, hata ayıklamak için aşağıdaki adımları izleyin:
  1. Başlat ' ı tıklatın, Çalıştır ' ı tıklatın, Cmd yazın ve Tamam ' ı tıklatın.
  2. Komut isteminde net stop W3svc yazın ve ENTER tuşuna basın.
  3. Visual C++ .NET ile, ISAPI uzantısı veya filtre DLL'SI projeyi açın.
  4. Proje menüsünde Özellikler ' i tıklatın.
  5. Hata ayıklama ' ı tıklatın ve sonra da komut kutusunda bilgisayarınızdaki W3wp.exe dosyası yolunu yazın.
  6. -Hata ayıklamaKomut değişkenlerini kutusuna yazın ve Tamam ' ı tıklatın.
  7. Kesmenoktaları projede ayarlayın.
  8. Hata Ayıkla) menüsünde, Başlat ' ı tıklatın.
Not Bu hata ayıklama yöntemini W3wp.exe kullanıcının güvenlik bağlamında çalışır. Bu, normal olarak W3wp.exe çalışan güvenlik bağlamı değildir.

Referanslar

ISAPI uzantıları ve filtreleri IIS altında hata ayıklama işleminin tam olarak, Microsoft Developer Network (MSDN) belgelerinde açıklanmıştır. Bu belge aşağıdaki konumda bulunabilir:
   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
				
bu belge varsayılan yükleme seçeneğini NT Option Pack veya Windows 2000 veya Windows XP için IIS ekleyerek yüklü olmadığını unutmayın. Bu belge edinmek için aşağıdaki MSDN Web sitesini ziyaret edin:
http://msdn.microsoft.com/library (http://msdn.microsoft.com/library)
Bu belge derlenmiş yardım biçiminde de yerel sabit diskinize karşıdan yükleyebilirsiniz. Bunu yapmak için <a0></a0>, aşağıdaki Microsoft karşıdan yükleme sitesini ziyaret edin:
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm (http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm)

Bu makaledeki bilginin uygulandığı durum:
  • 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
Anahtar Kelimeler: 
kbmt kbtshoot kbbug kbdebug kbhowtomaster KB183480 KbMttr
Otomatik TercümeOtomatik Tercüme
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:183480  (http://support.microsoft.com/kb/183480/en-us/ )