Использование журнала IEHost для отладки.NET объект размещения в обозревателе Internet Explorer

Код статьи: 313892 - Список продуктов, к которым относится данная статья.
Развернуть все | Свернуть все

На этой странице

Аннотация

В данной статье описывается, как активировать расширенные вход для IEHost.dll управляемой общей среды выполнения (CLR) размещения выполняется в обозревателе Internet Explorer.

Корпорация Майкрософт.NET Framework SDK документация описывает способы использования Fuslogvw.exe отладки проблем, которые могут возникает при размещении.NET модуля в обозревателе Internet Explorer. «Fusion,» откуда Эта программа будет использовано имя, это корпорации Майкрософт новые без влияния Технология установки программы. Таким образом, Fuslogvw.exe сообщает об ошибках только в Загрузка сборки или ее зависимостей.

О IEHost.dll

.NET модули поддерживаются в обозревателе Internet Explorer с помощью двух компоненты. Во-первых, фильтр MIME, который определен в Mscoree.dll, контролирует все входящие потоки данных с типом MIME application/octet-stream. Когда Internet Explorer выполняет вызов IMoniker BindToObject метод. Фильтр проверяет бит в потоке данных Заголовок переносимого исполняемого (PE) для определения, является ли управляемый модуль. Если это не так, фильтр просто возвращает и позволяет Internet Explorer Обычно обработка в поток.

Если поток имеет.NET модуля фильтр загружает сборку управляемого IEHost и вызывает его объект фабрики Создайте экземпляр запрошенного объекта. В свою очередь, вызывает этот объект фабрики IEManager, диспетчер безопасности, которая служит для настройки доменов приложений (AppDomains) для Internet Explorer и использует свидетельство сборки (в частности, членство URL-адрес и зону) для определения разрешения с помощью что сборка должна быть загружена.

Ошибки в загрузку сборок, разрешения системы безопасности или объект инициализации не записываются в Fusion журнал. Как и в случае с элементами управления ActiveX.NET объект, который обычно не инициализирован неожиданно завершает работу, оставив поле небольшой, тенью, где элемент управления должен быть. Для увидеть такие ошибки требуется активный журнал отладки IEHost.

Для получения дополнительных сведений о MIME фильтры, щелкните следующий номер статьи в корпорации Майкрософт База знаний:
260840 Пример: MIMEfilt демонстрирует фильтра MIME для обозревателя Internet Explorer

Активация файл журнала отладки IEHost

ПРЕДУПРЕЖДЕНИЕ: Неправильное использование редактора реестра может привести к серьезным проблемам проблемы, которые могут потребовать переустановки операционной системы. Корпорация Майкрософт не гарантирует решения проблем, вызванных реестра Редактор неправильно. С помощью редактора реестра на свой страх и риск.
  1. Нажмите кнопку Начало, нажмите кнопку Запустить, тип regedit, а затем нажмите кнопку ОК.
  2. Найдите и выделите следующий раздел реестра:
    HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework
  3. Добавить параметр DWORD с именем DebugIEHost для этого ключа; Назначьте любое ненулевое значение.
  4. Добавьте строковый параметр с именем IEHostLogFile. Назначить его полный путь (включая имя файла) файла в который вы хотите записать трассировки отладки (например, C:\Temp\IEDebug.log).

Сведения, содержащиеся в файле журнала отладки

Файл журнала, созданный IEHost содержит элементы, являющиеся написано с двумя разными.NET классы: Microsoft.IE.Manager и Microsoft.IE.SecureFactory. Например:
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
					
Эта информация определяет URL-адрес, который используется для в целях безопасности, имя приложения, которое запускается, код базовый, используемый для загрузки зависимостей и лицензий, которые применяются к Этот объект (среди других полезных сведений).

Наиболее полезно Информация — это трассировка стека, который записывается в файл журнала, если произошла ошибка Происходит при создании объекта. Например, предположим, что предпринята попытка записи в папка в конструкторе класса:
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");
}
				
Эта операция не завершилась, но так как объект не был полностью еще находящегося в Internet Explorer, она неожиданно завершает работу. Тем не менее подробный Трассировка стека записывается в файл журнала. Обычно увидеть две трассировки стека: внутреннее исключение (который вызывается элементом управления) и исключение сервера ( ошибки, которая возникает во время выполнения в ответ на отказ элемента управления). Например:
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)
   ...
					
Для исключения системы безопасности также получать подробные сведения о том, какие запросы разрешения безопасности не удалось:
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"/>
					

Ссылки

Для получения дополнительных сведений об отладке с.NET Framework SDK, посетите веб-узле MSDN:
Отладка с помощью Microsoft.NET Framework SDK

Свойства

Код статьи: 313892 - Последнее изменение :: 7 июня 2011 г. - Редакция: 4.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft .NET Framework 1.1
  • Microsoft .NET Framework 1.0
Ключевые слова: 
kbctrl kbmisctools kbdebug kbhowtomaster kbmt KB313892 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:313892

Отправить отзыв