NASıL YAPıLıR: ınternet Explorer'ın .NET nesne barındırma hata ayıklama için ıehost günlüğü kullanın.

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

Bu Sayfada

Özet

Bu makale, IEHost.dll, ınternet Explorer'da çalıştırılan yönetilen ortak dil çalışma zamanı (CLR) ana bilgisayar için genişletilmiş hata günlüğünü etkinleştirmek açıklamaktadır.

Microsoft .NET Framework SDK belgelerine Fuslogvw.exe ınternet Explorer'da bir .NET modülündeki ana oluşabilecek sorunlar için hata ayıklama için nasıl kullanılacağını açıklar. "Füzyon, bu yardımcı program adını alır," Microsoft'un yeni program yükleme sıfır etkisi teknolojisidir. Bu nedenle, Fuslogvw.exe derlemesi veya bağımlılıklarından karşıdan yükleme, yalnızca hataları raporlar.

IEHost.dll hakkında

.NET modülleri, ınternet Explorer'ın iki bileşeni kullanılarak desteklenir. Ilki, ınternet Explorer ımoniker BindToObject yöntemine yapılan çağrı yaptığında, tüm gelen veri akış application/octet-stream MIME türüyle izler MSCOREE.dll tanımlanan MIME filtresidir. Süzgeç, yönetilen bir modülü olup olmadığını belirlemek için taşınabilir çalıştırılabilir (PE) üstbilgisindeki bit veri akışını denetler. Yüklü değilse, filtre yalnızca verir ve ınternet Explorer'ı akış genellikle işlemeye izin verir.

Akış .NET modül, süzgeç yönetilen ıehost derleme yükler ve istenen nesne örneğini oluşturmak için Fabrika nesnesine çağırır. Bu factory nesne, uygulama etki alanları yapılandıran yöneticinin IEManager, bir güvenlik çağırır (uygulama etki alanları) için ınternet Explorer'ı ve kullanımları kanıt birleştirme hakkında (özellikle, URL ve bölge üyelik) ile derleme yüklenmiş olması gereken izinleri belirlemek için.

Derlemesi yüklenirken, güvenlik izinlerini veya nesne başlatma hataları Fusion kaydedilen günlük. ActiveX denetimleri gibi tipik olarak başlatılmamış bir .NET nesnesi sessizce, denetimi olması gereken yerde küçük, grooved kutusunu bırakmak başarısız. Bu tür hataları görmek için <a0></a0>, ıehost hata ayıklama günlüğü etkin için gerekir.

MIME hakkında ek bilgi için süzgeçleri için Microsoft Knowledge Base'deki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
260840Örnek: Internet Explorer MIME süzgeci MIMEfilt gösterir

ıehost Debug Log File'ı etkinleştirme

UYARı: Kayıt Defteri Düzenleyicisi'ni yanlış kullanırsanız, işletim sisteminizi yeniden yüklemenizi gerektirebilecek ciddi sorunlara neden olabilir. Microsoft, Kayıt Defteri Düzenleyicisi yanlış kullanımından kaynaklanan sorunları çözebileceğinizi garanti edemez. Kayıt Defteri Düzenleyicisi'ni kullanmak kendi sorumluluğunuzdadır.
  1. Başlat ' ı tıklatın, Çalıştır ' ı tıklatın, regedit yazın ve Tamam ' ı tıklatın.
  2. Aşağıdaki kayıt defteri anahtarını bulup tıklatın:
    HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework
  3. Bu anahtara DebugIEHost adlı bir DWORD değeri ekleyin; buna, sıfır olmayan herhangi bir değer atayın.
  4. IEHostLogFile adlı bir dize değeri ekleyin. Bunu (dosya adı dahil) dosyasının tam yolunu atayın (örneğin, C:\Temp\IEDebug.log) hata ayıklama izleme kaydetmek istediğiniz.

Debug Log dosyanın içerdiği bilgi

Iki farklı .NET sınıfları tarafından yazılan girdileri ıehost tarafından oluşturulan günlük dosyasını içerir: Microsoft.IE.Manager ve Microsoft.IE.SecureFactory. Örneğin,:
Creating security manager

Microsoft.IE.Manager: Microsoft.IE.Manager: unique id lgth = 28
Microsoft.IE.SecureFactory: Create SecureFactory() with security 
information
Microsoft.IE.Manager: Created secure factory
Microsoft.IE.SecureFactory: Creating instance of the object in the correct 
domain
Microsoft.IE.SecureFactory: pUrl = http://servername/DebugIEHost/DebugIEHost/test.htm
Microsoft.IE.SecureFactory: id = 86474707A316B616E65610000000
Microsoft.IE.SecureFactory: link = 
Microsoft.IE.SecureFactory: licenses = 
Microsoft.IE.Manager: Url = 
http://servername/DebugIEHost/DebugIEHost/test.htm
Microsoft.IE.Manager: UrlGetPartW returned 0
Microsoft.IE.Manager: CodeBase = http://servername
Microsoft.IE.Manager: Application = DebugIEHost/DebugIEHost
					
Bu bilgiler, güvenlik amacıyla kullanılan URL, başlatılıyor uygulama, Bağımlılıklar'ı karşıdan yüklemek için kullanılan kod tabanı ve diğer yararlı bilgileri) arasında (Bu nesne için geçerli lisans adını tanımlar.

Nesne oluşturma sırasında bir hata ortaya çıkarsa, günlük dosyasına kaydedilip yığın izlemesi en kullanışlı bilgilerdir. Örneğin, bir klasörde, sınıf oluşturucusunun yazmaya çalıştığınız varsayılmaktadır:
public DebugIEHost() {
    // This call is required by the Windows.Forms Form Designer.
    InitializeComponent();

    // TODO: Add any initialization after the InitForm call
    FileStream fs = File.Open(@"C:\temp.tmp",System.IO.FileMode.CreateNew);
    StreamWriter sw = new System.IO.StreamWriter(fs);
    sw.WriteLine("Hello, world");
}
				
bu işlem başarısız olur, ancak nesneyi tam olarak ınternet Explorer'ın henüz sited değil çünkü sessizce başarısız olur. Ancak, bir ayrıntılı yığın izleme günlük dosyasına yazılır. Genellikle iki yığın izlemelerini gördüğünüz: iç özel durum (Bu, denetimi tarafından oluşturulan) ve bir sunucuya özel durumu (tarafından çalışma zamanı, denetimin yanlışa tepki olarak oluşturulan hata). Örneğin,:
Microsoft.IE.SecureFactory: System.Reflection.TargetInvocationException:
Exception has been thrown by the target of an invocation.---->
System.Security.SecurityException: Request for the permission of 
type System.Security.Permissions.FileIOPermission, mscorlib, 
Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 
failed.
   at System.Security.CodeAccessSecurityEngine.CheckHelper(PermissionSet 
grantedSet, PermissionSet deniedSet, CodeAccessPermission demand, 
PermissionToken permToken)
   ...
					
Güvenlik özel durumlar için hangi güvenlik izin isteği başarısız oldu, ayrıntılar de alırsınız:
The state of the failed permission was: 
<IPermission class="System.Security.Permissions.FileIOPermission, 
mscorlib, Version=1.0.3300.0, Culture=neutral, 
PublicKeyToken=b77a5c561934e089"
             version="1"
             Read="C:\temp.tmp"
             Write="C:\temp.tmp"/>
					

Referanslar

.NET ile hata ayıklama hakkında daha fazla bilgi için Framework SDK, aşağıdaki MSDN Web sitesini ziyaret edin:
Debugging with the Microsoft .NET Framework SDK

Özellikler

Makale numarası: 313892 - Last Review: 24 Ocak 2004 Cumartesi - Gözden geçirme: 5.1
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft .NET Framework 1.1
  • Microsoft .NET Framework 1.0
  • Microsoft Internet Explorer 5.5
  • Microsoft Internet Explorer (Programming) 6.0
Anahtar Kelimeler: 
kbmt kbctrl kbmisctools kbdebug kbhowtomaster KB313892 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:313892

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