NASıL YAPıLıR: Visual Studio kullanarak IIS altında çalışan Common Gateway ınterface uygulamaları hata ayıklama

Makale çevirileri Makale çevirileri
Makale numarası: 238788 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Bu Sayfada

Özet

Bu adım adım makalede, Visual Studio'nun herhangi bir sürümünü kullanarak ınternet ınformation Services (IIS) altında çalışan bir ortak ağ geçidi arabirimi (CGI) uygulamalarında hata ayıklamalarına olanak açıklamaktadır.

Bir Visual C CGI uygulaması, Visual Studio kullanarak hata ayıklama

Visual Studio'nun herhangi bir sürümünü kullanarak bir Visual C CGI uygulaması hata ayıklamak için aşağıdaki adımları izleyin:
  1. IIS Admin hizmeti masaüstüyle etkileşim kuracak gerekir. Bu yapılandırma için <a0></a0>, aşağıdaki adımları izleyin:
    1. Denetim Masası ' nı açın ve aşağıdaki adımları izleyin:
      • Windows NT için: Hizmetleri ' ni tıklatın.
      • Windows 2000, Windows XP ve .NET Server: Yönetimsel Araçlar ' ı tıklatın ve sonra Hizmetler'i tıklatın.
    2. IIS Admin Hizmeti'ni çift tıklatın.
    3. Oturum Aç iletişim sekmesinde, Hizmet masaüstü ile ınteract izin ver</a0> onay kutusunu seçin.

      Not Bu makale, IIS Yönetim hizmetini bir yerel sistem olarak çalıştığını varsayar.
    4. Durdurun ve IIS Admin Hizmeti'ni yeniden başlatın.
  2. Windows.h dosya eklemek için önce aşağıdaki kodu ekleyin ve sonra bir hata ayıklama sürümünü CGI oluşturun:
    #define _WIN32_WINNT 0x0400
    					
  3. CGI başında aşağıdaki kodu yapıştırın:
    #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. CGI uygulaması başlatın.
  5. Için CGI (örneğin, WinDBG veya Visual C) bir hata ayıklayıcıyı iliştirin bir ileti kutusu görüntülendiği sırada işlem.
  6. Hata ayıklayıcısını iliştirildiğinde, kaynak dosyayı açın ve bir kesme noktası ayarlamak ve sonra Tamam ' ı tıklatın.

    Ileti kutusunu kapattığınızda, CGI programı sürdürür ve kesme noktası vurun.

WinDBG kullanma

Kod değiştirmek zorunda olsa da, bir CGI uygulaması ile WinDBG hata ayıklamak için WinDBG ile ilgili bilgi sahibi olmanız ve hata ayıklama araçlarını yüklemek sizde. Hata ayıklama araçları, aşağıdaki Microsoft Web sitesinden yükleyebilirsiniz:
Microsoft hata ayıklama araçları
http://www.microsoft.com/whdc/devtools/ddk/default.mspx

Hizmet seçeneklerini ayarlama

Görüntü dosyası yürütme seçeneklerini ayarlayabilir, böylece (veya CGI programını) hizmeti başlatıldığında, altında hata ayıklayıcıyı başlatır. Bu makalede daha önce belirtildiği hizmetin masaüstü ile etkileşimde bulunabilirsiniz dikkat edin. Aksi halde, CGI programı başladığında, hata ayıklayıcısını yükler ve bunu göremez.
  1. Kayıt Defteri Düzenleyicisi'ni (Regedt32.exe) başlatın:

    Başlat ' ı tıklatın, Çalıştır ' ı tıklatın ve sonra regedt32 yazın.
  2. Aşağıdaki kayıt defteri anahtarını bulun:
    [Hkey_local_machıne\software\microsoft\windows NT\CurrentVersion\Image dosya yürütme Options\]
  3. CGI yürütülebilir dosya (örneğin, MyCGI.exe) adıyla bir alt anahtarı oluşturun.
  4. Bu alt anahtara Debugger'ı ve hata ayıklayıcısının tam yolunu adlı bir REG_SZ değeri ekleyin, ancak ".exe" uzantısı atlayın. Ayrıca, hata ayıklayıcısını için tüm komutları ekleyebilirsiniz. WinDBG yüklemek için varsayılan konumu şudur:
    "Debugger"="C:\\Debuggers\\windbg.exe"
    Not WinDBG hata ayıklayıcısını için işaret eden yol, boşluk ya da dosya uzantısı içermemelidir. Aşağıdaki gösterildiği gibi windbg:
    Hkey_local_machıne\software\microsoft\windows NT\CurrentVersion\Image dosya yürütme Options\yourCGI.exe "C:\windbg Debugger"=""
  5. Kayıt Defteri Düzenleyicisi'ni kapatın.
  6. Stop IISADMIN hizmeti başlatın ve CGI çalıştırın program.

    Not Varsayılan masaüstünde görünmesini hata ayıklayıcısını için IIS Yönetim hizmetini Local System ve çalıştırmalısınız, Hizmet masaüstü ile ınteract izin ver</a0> onay kutusunu seçmeniz gerekir. Bu yapılandırma için <a0></a0>, bu makalenin yönergeleri adım 1 gidin.
  7. Hata ayıklayıcısını ne zaman başlayacaktır görüntüyü hizmetin yürütülebilir dosya, belleğe yüklenir.
Not Hata ayıklayıcısını eklemek için yanlış metatabanında CreateProcessAsUser</a0> özelliğinin değerini ayarlamanız gerekebilir. CGI yürütülebilir dosya kökenli, CGI uygulaması çalıştıran hesabının IIS admin hizmeti için <a2>Hizmetin masaüstü ile ınteract için izin ver</a2> ayarını devralan değil olmasıdır. Hizmetin masaüstü ile ınteract için izin ver</a0> ayarını belirlemek için adsutil.vbs yönetim komut dosyasını kullanabilirsiniz. Varsayılan olarak, bu ayar için geçerlidir. Örneğin, aşağıdaki komutu kullanın:
adsutil.vbs SET w3svc/CreateProcessAsUser "false"

Referanslar

Hata ayıklama hakkında ek bilgi için Microsoft Knowledge Base'deki makaleleri görüntülemek üzere aşağıdaki makale numaralarını tıklatın:
273639NASıL YAPıLıR: Iısadmin ve bir hata ayıklayıcı altında bağımlı hizmetleri Başlat
286350NASıL YAPıLıR: "Kilitleniyor" <a0>"Kilitleniyor" giderilir ADPlus ve</a0> kullanın...
261871BILGI: COM + ve MTS kaynak hata ayıklama
183480NASıL YAPıLıR: Hata ayıklama, ISAPI dll'ın altında IIS 4.0 ve IIS 5.0

Özellikler

Makale numarası: 238788 - Last Review: 3 Aralık 2007 Pazartesi - Gözden geçirme: 4.7
Bu makaledeki bilginin uygulandığı durum:
  • 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
Anahtar Kelimeler: 
kbmt kbcgi kbhowto kbhowtomaster KB238788 KbMttr
Machine-translated Article
Ö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:238788

Geri Bildirim Ver

 

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