Postupy: Pomocí protokolu program Debug provozování .NET objektů v aplikaci Internet Explorer

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:313892
Tento článek byl archivován. Je nabízen v takovém stavu, v jakém je, a nebude již nadále aktualizován.
Důležité: Tento článek obsahuje informace o úpravě registru. Před úpravami je nutné registr zazálohovat. Seznamte se také s postupem při obnovení registru v případě, že nastane problém. Informace o zálohování, obnovení a úpravě registru naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:
256986Popis registru systému Microsoft Windows

Obsah úlohy

Souhrn
Tento článek popisuje aktivaci protokolování rozšířená chyba IEHost.dll spravovaného hostitele Common Language Runtime (CLR), která se spouští uvnitř Internet Explorer.

Microsoft .NET Framework SDK dokumentace popisuje způsob použití Fuslogvw.exe k ladění potíží, které mohou nastat při hostitelem modulu .NET v aplikaci Internet Explorer. "Fúze," ze kterého tento nástroj trvá jeho název je nová technologie společnosti nula dopad instalace programu. Proto Fuslogvw.exe hlásí chyby pouze v stahování sestavení nebo jeho závislosti.

back to the top

O IEHost.dll

V aplikaci Internet Explorer podporováno pomocí dvě součásti .NET moduly. První je filtru MIME, je definována v Mscoree.dll, která sleduje příchozí všechny datové proudy s typ MIME application, oktet stream při Internet Explorer provede volání metody IMoniker BindToObject. Filtr prozkoumá datový proud bitů v záhlaví PE (Portable program) určit, zda je spravované modulu. Pokud není, filtr jednoduše vrátí a umožňuje Internet Explorer obvykle datový proud procesu.

Pokud je datový proud modulu .NET, filtr sestavení spravovaného program načte a volá do jeho objektu factory vytvořit instanci požadovaný objekt. Tento objekt factory zase volá IEManager zabezpečení správce konfiguruje domény aplikací (AppDomains) pro aplikaci Internet Explorer a používá důkazy o sestavení (zejména, členství URL a zónu) k určení oprávnění, se kterým má být načten sestavení.

Chyby v načítání sestavení, oprávnění zabezpečení nebo objekt inicializace nezaznamenané v Fusion protokolu. Se s ovládací prvky ActiveX objekt .NET, které obvykle není inicializován nezdaří bezobslužně, ponechejte pole malý, grooved, kde má být ovládací prvek. Pokud chcete zobrazit například chyby, potřebujete aktivní protokol ladění program.

Pro další informace o MIME filtry, klepněte na článek číslo článku databáze Microsoft Knowledge Base:
260840Příklad: MIMEfilt znázorňuje filtru MIME pro aplikaci Internet Explorer
back to the top

Aktivace protokolu ladění program

Upozornění: Použijete-li Editor registru nesprávně, můžete způsobit vážné problémy, které mohou vyžadovat přeinstalaci operačního systému. Společnost Microsoft nemůže zaručit, že potíže vzniklé v důsledku nesprávného použití Editoru registru budete moci vyřešit. Editor registru používáte na vlastní nebezpečí.
  1. Klepněte na tlačítko Start, klepněte na příkaz Spustit, zadejte příkaz regedit a klepněte na tlačítko OK.
  2. Vyhledejte následující klíč registru a klepněte na něj:
    HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework
  3. Přidejte hodnotu DWORD nazvanou DebugIEHost tento klíč; přiřadit libovolnou nenulovou hodnotu.
  4. Přidat hodnotu řetězce s názvem IEHostLogFile. Přiřadit úplná cesta (včetně názvu souboru) souboru, ve kterém chcete provést záznam trasování ladění (například C:\Temp\IEDebug.log).
back to the top

Informace obsažené v souboru protokolu ladění

Soubor protokolu je vytvořen program obsahuje položky, které jsou napsány dvě různé třídy .NET: Microsoft.IE.Manager a Microsoft.IE.SecureFactory. Například:
Creating security managerMicrosoft.IE.Manager: Microsoft.IE.Manager: unique id lgth = 28Microsoft.IE.SecureFactory: Create SecureFactory() with security informationMicrosoft.IE.Manager: Created secure factoryMicrosoft.IE.SecureFactory: Creating instance of the object in the correct domainMicrosoft.IE.SecureFactory: pUrl = http://servername/DebugIEHost/DebugIEHost/test.htmMicrosoft.IE.SecureFactory: id = 86474707A316B616E65610000000Microsoft.IE.SecureFactory: link = Microsoft.IE.SecureFactory: licenses = Microsoft.IE.Manager: Url = http://servername/DebugIEHost/DebugIEHost/test.htmMicrosoft.IE.Manager: UrlGetPartW returned 0Microsoft.IE.Manager: CodeBase = http://servernameMicrosoft.IE.Manager: Application = DebugIEHost/DebugIEHost					
Tato informace identifikuje URL, která se používá pro účely zabezpečení název aplikace, která je právě spuštěna, základ kód používaný pro stahování závislosti a licencí, které platí tento objekt (mezi další užitečné informace).

Trasování zásobníku je zaznamenán v souboru protokolu, pokud dojde k chybě během vytvoření objektu je nejužitečnější informace. Předpokládejme například, pokusil zapsat do složky v konstruktoru třídy:
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");}				
Tato operace neproběhne úspěšně, ale protože objekt má není byla plně sited v aplikaci Internet Explorer ještě, selže bezobslužně. Trasování verbose zásobníku je však zapsán do souboru protokolu. Obvykle naleznete dva trasování zásobníku: vnitřní výjimce (což je vyvolána podle ovládání) a server výjimka (chyba je vyvolána run-time odpověď na selhání ovládacího prvku). Například:
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)   ...					
Pro výjimky zabezpečení také zobrazit podrobnosti o tom, které se nezdařil požadavek oprávnění zabezpečení:
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"/>					
back to the top
Odkazy
Další informace o ladění .NET Framework SDK, naleznete na následujícím webu: back to the top

Upozornění: Tento článek je přeložený automaticky

Vlastnosti

ID článku: 313892 - Poslední kontrola: 12/07/2015 08:17:33 - Revize: 5.1

Microsoft .NET Framework 1.1, Microsoft .NET Framework 1.0, Microsoft Internet Explorer 5.5, Microsoft Internet Explorer (Programming) 6.0

  • kbnosurvey kbarchive kbmt kbctrl kbmisctools kbdebug kbhowtomaster KB313892 KbMtcs
Váš názor