Comment faire pour utiliser le journal IEHost pour déboguer les objets .NET d'hébergement dans Internet Explorer

IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d’articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d’avoir accès, dans votre propre langue, à l’ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s’exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s’efforce aussi continuellement de faire évoluer son système de traduction automatique.

La version anglaise de cet article est la suivante: 313892
Cet article a été archivé. Il est proposé « en l'état » et ne sera plus mis à jour.
IMPORTANT : Cet article contient des informations sur la modification du Registre. Avant de modifier le Registre, veillez à sauvegarder et assurez-vous que vous savez comment restaurer le Registre si un problème se produit. Pour savoir comment sauvegarder, restaurer et modifier le Registre, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
256986 Description de du Registre Microsoft Windows

DE CETTE TÂCHE

Résumé
Cet article explique comment activer l'enregistrement d'erreur étendues pour IEHost.dll, le ordinateur hôte Common Language Run-time (CLR) géré qui s'exécute dans Internet Explorer.

Le kit de développement Microsoft .NET Framework SDK documentation décrit comment utiliser Fuslogvw.exe pour déboguer les problèmes qui peuvent se produire lorsque vous ordinateur hôte un module de .NET dans Internet Explorer. "Fusion, » à partir de laquelle cet utilitaire prend son nom, est nouvelle technologie d'installation de programme à impact nul de Microsoft. Par conséquent, Fuslogvw.exe signale les erreurs uniquement en téléchargement l'assemblage ou ses dépendances.

back to the top

À propos de IEHost.dll

Modules .NET sont pris en charge dans Internet Explorer par à l'aide de deux composants. Le premier est un filtre MIME, qui est défini dans mscoree.dll, qui surveille tous les flux de données entrant avec le type MIME application/octet-flux lorsque Internet Explorer effectue un appel à la méthode IMoniker BindToObject . Le filtre examine le flux de données pour les octets dans l'en-tête de fichier exécutable portable (PE, Portable EXECUTABLE) pour déterminer ou non il est un module géré. Si ce n'est pas le cas, le filtre simplement renvoie et permet à Internet Explorer traiter le flux de données en général.

Si le flux est un module de .NET, le filtre charge l'assembly IEHost gérée et appelle dans son objet fabrique pour créer une instance de l'objet demandé. Cet objet fabrique, appelle à son tour, IEManager, une sécurité Gestionnaire qui configure les domaines d'application (AppDomain) pour Internet Explorer et preuves utilise sur l'assembly (en particulier, l'abonnement URL et la zone) pour déterminer les autorisations avec lequel l'assembly doit être chargé.

Erreurs d'assembly charger, autorisations de sécurité ou objet d'initialisation ne sont pas enregistrées dans la fusion journal. Comme avec les contrôles ActiveX, un objet .NET qui n'est pas initialisé généralement échoue en silence, quitter une boîte de petite, grooved où le contrôle doit être. Pour voir ces erreurs, vous devez active le journal de débogage IEHost.

Pour plus d'informations sur MIME filtre, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
260840 SAMPLE : MIMEfilt démontre filtre MIME pour Internet Explorer
back to the top

Activer le fichier journal IEHost débogage

Avertissement : Si vous utilisez l'Éditeur du Registre de façon incorrecte, vous pouvez générer des graves problèmes pouvant vous obliger à réinstaller votre système d'exploitation. Microsoft ne peut pas garantit que vous pouvez résoudre les problèmes résultant de l'utilisation incorrecte de l'Éditeur du Registre. Utilisez l'Éditeur du Registre à vos risques et périls.
  1. Cliquez sur Démarrer , cliquez sur Exécuter , tapez regedit et cliquez sur OK .
  2. Recherchez et cliquez la clé de Registre suivante :
    HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework
  3. Ajouter une valeur DWORD nommée DebugIEHost à cette clé ; affecter toute valeur non nulle.
  4. Ajoutez une valeur de chaîne nommée IEHostLogFile . Affecter le chemin le complet (y compris le nom du fichier) d'accès au fichier dans lequel vous souhaitez enregistrer le suivi de débogage (par exemple, C:\Temp\IEDebug.log).
back to the top

Les informations contenues dans le fichier journal de débogage

Le fichier journal créé par IEHost contient des écritures qui sont écrits par les deux classes .NET différentes : Microsoft.IE.Manager et Microsoft.IE.SecureFactory . Par exemple :
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					
Ces informations identifiant l'URL qui est utilisée pour des raisons de sécurité, le nom de l'application est en cours de démarrage, la base de code est utilisée pour télécharger les dépendances et les licences qui s'appliquent à cet objet (entre autres informations utiles).

Les informations plus utiles sont une trace de pile est enregistrée dans le fichier journal si une erreur se produit lors de la création d'objet. Par exemple, supposons que vous tentiez d'écrire dans un dossier dans le constructeur de classe :
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");}				
cette opération n'aboutit pas, mais parce que l'objet n'a pas été entièrement sited dans Internet Explorer encore, elle échoue en silence. Toutefois, une trace de pile détaillé est écrit dans le fichier journal. Vous ne voyez souvent deux traces de pile : une exception interne (qui est générée par le contrôle) et une exception de serveur (l'erreur est générée par l'exécution en réponse à erreur votre contrôle). Par exemple :
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)   ...					
Pour les exceptions de sécurité, vous recevrez les informations sur les demande d'autorisation de sécurité a échoué :
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
Références
Pour plus d'informations sur le débogage avec le .NET Framework SDK, le site suivant Web de MSDN : back to the top

Avertissement : Cet article a été traduit automatiquement.

Propriétés

ID d'article : 313892 - Dernière mise à jour : 12/07/2015 08:17:34 - Révision : 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 KbMtfr
Commentaires