Você está offline; aguardando reconexão

COMO: Utilizar o log de IEHost para depurar o objeto .NET hospedagem no Internet Explorer

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 313892
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
importante : Este artigo contém informações sobre como modificar o registro. Antes de modificar o registro, certifique-se de backup e certifique-se que você saiba como restaurar o registro se ocorrer um problema. Para obter informações sobre como fazer backup, restaurar e editar o registro, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
256986Descrição do registro do Microsoft Windows

NESTA TAREFA

Sumário
Este artigo descreve como ativar o log de erro estendidas para IEHost.dll, o host de linguagem comum tempo de execução (CLR) gerenciado que executa dentro do Internet Explorer.

O Microsoft .NET Framework SDK documentação descreve como usar Fuslogvw.exe para depurar problemas que podem ocorrer ao hospedar um módulo do .NET no Internet Explorer. "Fusão", do qual esse utilitário obtém seu nome, é nova tecnologia de instalação de programa impacto a zero da Microsoft. Portanto, Fuslogvw.exe relata erros apenas no download o assembly ou suas dependências.

back to the top

Sobre IEHost.dll

Módulos do .NET que são suportados no Internet Explorer, usando dois componentes. A primeira é um filtro MIME, que é definido em mscoree.dll, que monitora todos os fluxos de dados entrada com o tipo de MIME application/octet-stream quando o Internet Explorer faz uma chamada para o método IMoniker BindToObject . O filtro examina o fluxo de dados para os bits no cabeçalho do executável portátil (PE) para determinar se ou não é um módulo gerenciado. Se não estiver, o filtro simplesmente retorna e permite que o Internet Explorer para processar o fluxo normalmente.

Se o fluxo é um módulo de .NET, o filtro carrega o assembly IEHost gerenciado e chama seu objeto de fábrica para criar uma instância do objeto solicitado. Este objeto de fábrica, por sua vez, chama IEManager, uma segurança Gerenciador que configura a domínios de aplicativo (AppDomains) para o Internet Explorer e o usa evidências sobre o assembly (particularmente, a associação URL e zona) para determinar as permissões com o qual o assembly deve ser carregado.

Erros no carregamento de assembly, permissões de segurança ou inicialização de objeto não são registrados no Fusion log. Como com controles ActiveX, um objeto .NET que não está inicializado normalmente falha silenciosamente, deixando uma caixa pequena, grooved onde o controle deve ser. Para ver esses erros, você precisará ativa o log de depuração IEHost.

Para obter informações adicionais sobre MIME filtros, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
260840EXEMPLO: MIMEfilt demonstra filtro MIME para o Internet Explorer
back to the top

Ativar o arquivo de log IEHost Debug

Aviso : se você usar o Editor do Registro incorretamente, poderá causar problemas sérios que talvez exijam a reinstalação do sistema operacional. A Microsoft não garante que você pode resolver problemas resultantes do uso incorreto do Editor do Registro. Use o Editor do registro por sua própria conta e risco.
  1. Clique em Iniciar , clique em Executar , digite regedit e, em seguida, clique em OK .
  2. Localize e clique na seguinte chave do Registro:
    HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework
  3. Adicione um valor DWORD chamado DebugIEHost a essa chave; atribuir a ele qualquer valor diferente de zero.
  4. Adicione um valor de seqüência de caracteres chamado IEHostLogFile . Atribua a ela o caminho completo (inclusive o nome do arquivo) do arquivo no qual você deseja gravar o rastreamento de depuração (por exemplo, C:\Temp\IEDebug.log).
back to the top

Informações no arquivo de log de depuração

O arquivo de log é criado pelo IEHost contém entradas que são escritas por duas classes .NET diferentes: Microsoft.IE.Manager e Microsoft.IE.SecureFactory . Por exemplo:
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					
Essas informações identificam a URL que é usada para fins de segurança, o nome do aplicativo que está sendo iniciado, a base de código é usada para baixar as dependências e as licenças que se aplicam a este objeto (entre outras informações úteis).

As informações mais úteis são um rastreamento de pilha, que é registrado no arquivo log se ocorrer um erro durante a criação do objeto. Por exemplo, suponha que você tentou gravar em uma pasta no seu construtor 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");}				
esta operação não terá êxito, mas porque o objeto tem não foi totalmente localizado no Internet Explorer ainda, ele falhará silenciosamente. No entanto, um rastreamento de pilha detalhada é gravado o arquivo de log. Você normalmente verá dois rastreamentos de pilha: uma exceção interna (que é lançada por seu controle) e uma exceção de servidor (o erro que é lançada pelo tempo de execução em resposta a uma falha do controle). Por exemplo:
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)   ...					
Para exceções de segurança, você também recebe detalhes sobre o qual solicitação de permissão de segurança falhou:
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
Referências
Para obter mais informações sobre depuração com o .NET Framework SDK, visite o seguinte site da MSDN: back to the top

Propriedades

ID do Artigo: 313892 - Última Revisão: 12/07/2015 08:17:36 - Revisão: 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 KbMtpt
Comentários