Solução de problemas ASP.NET usando o FileMon

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: 890960
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
ASP .NET Support Voice Column: Solução de problemas ASP.NET usando o FileMon

para personalizar esta coluna às suas necessidades, queremos convidá-lo para enviar suas idéias sobre tópicos que interessam a você e problemas que você deseja ver abordados artigos do Knowledge Base no futuro e colunas de voz de suporte. Você pode enviar suas idéias e comentários usando o formulário Ask For It. Há também um link para o formulário na parte inferior desta coluna.
INTRODUÇÃO
Saudação novamente e bem-vindo a edição de dezembro ' 04 da coluna de voz de suporte. Uma vez, gostaria de agradecer Jim Cheshire , um engenheiro de suporte aqui na Microsoft ASP.NET, de suporte para suas contribuições. Jim tem boas idéias para a coluna de voz de suporte e quiser continuar para compartilhá-los. Procure por contribuições Jim mês passado e sobre o próximo mês ou isso e como sempre, envie suas sugestões para colunas futuras. Jim Obrigado!

Jim tem trabalhado com a Microsoft há seis anos em equipes FrontPage, VB e ASP.NET. Durante esse tempo, ele escreveu para o Office Developer Center no MSDN e é autor de um livro no FrontPage, especial Edition usando o Microsoft Office FrontPage 2003 . Jim também tem um site onde ele fornece suplementos livres para o FrontPage permitem aos desenvolvedores da Web que o máximo de produtos da Microsoft. É aqui que endereço do site:
Portanto, recepção até uma cadeira, disparar a de sapatos, leia nossa coluna Tudo sobre Solução de problemas ASP.NET e lembre-se, você pode enviar suas idéias para nós usando o link "ASK FOR IT" incluído em cada coluna publicados.

Jeremy
Solução de problemas ASP.NET usando o FileMon
Última vez, abordei como usar o Monitor de rede e Fiddler para solucionar problemas de autenticação com ASP. NET. Este mês falarei solucionar problemas de acesso a arquivos usando FileMon ’s Sysinternals, uma ferramenta que está disponível gratuitamente no site do Sysinternals:
Aqui ’s o cenário que solução de problemas.

Cenário

quando os usuários navegarem até seu aplicativo ASP.NET, eles verão sua página de erro personalizadas. Você aren’t-se de que o que é o erro, mas você sabe que seu aplicativo grava dados em um arquivo com os detalhes da exceção. Infelizmente, quando você verifica o arquivo, ele não ’s existe.

Sempre que eu escrevi um aplicativo que deve ser gravar informações em um arquivo e nada é gravado no arquivo quando deveria, suponho um problema de permissões. Há várias maneiras que você pode verificar permissões. Você apenas pode abrir a interface do Windows e examinar as permissões não existe. Downfall para esse método é que você realmente ver apenas as permissões para o objeto está examinando. Se esse objeto for uma pasta, as permissões podem ser correto no nível da pasta e errado em um arquivo dentro dessa pasta.

Outra maneira para monitorar permissões é auditoria de acesso a objetos. Auditoria funciona muito bem, se você desejar levar o tempo para configurá-lo. No entanto, no cenário de estamos trabalhando com neste artigo, há uma maneira muito mais fácil dizer se um problema de permissões está impedindo o usuário acessar o sistema de arquivos: FileMon.

Quando você baixa Filemon da Sysinternals, você obter um arquivo .zip pequeno contendo três arquivos, um dos quais é FileMon.exe. Que ’s o único arquivo que você precisará usar Filemon, portanto, descompactar esse arquivo para sua área de trabalho ou algum outro local conveniente. Clique duas vezes em FileMon.exe para iniciar o FileMon. Depois que você iniciar o FileMon, você vê-lo Iniciar para que ocupe rapidamente com dados, como mostrado na imagem a seguir.
Sysinternals Main Screen upon launch
Quando a maioria das pessoas inicia FileMon pela primeira vez, sua reação imediata é “ rapaz, isso é uma grande quantidade de coisas! ” As próximas palavras fora de sua boca são quase sempre, “-se de que espero que equipe tiver alguma ferramenta interna que facilita analisar essas coisas. ” Na verdade, fazemos. Ele chamado Microsoft Excel! Mais sobre isso mais tarde.

O que faz Filemon

FileMon logs de acesso a todos os arquivos no seu computador. Ele registra o processo que está acessando o arquivo, o tipo de acesso que é solicitado, o caminho e nome do arquivo acessado, o resultado de que acesso a arquivos e outras informações de interesse. Na maioria dos casos, as configurações de Filemon padrão são suficientes, porém, se você explorar a interface, você encontrará que FileMon inclui algumas opções de configuração eficiente.

O truque para usar Filemon para solucionar um problema de permissões é tentar capturar a menor quantidade de dados necessários e ainda capturar o problema. Você pode fazer isso facilmente usando CTRL + E, uma combinação de teclado que ativa e desativa o modo de captura ’s FileMon. Depois que você iniciado Filemon, pressione CTRL+E para pará-lo e pressione CTRL + X, que limpará a janela de saída. Agora você está pronto para capturar o problema de acesso de arquivo.

’S aqui como você poderia capturar um log de Filemon.
  1. Copie FileMon.exe para o servidor Web.
  2. Ter um usuário se preparar para solicitar a página. Certifique-se que eles esperar para realmente solicitá-lo até que você iniciado FileMon.
  3. Pressione CTRL+E no Filemon para iniciar a captura. Novamente, verifique se que você tenha desmarcado a janela primeiro com CTRL + X.
  4. Peça ao usuário para solicitar a página.
  5. Depois que o usuário reporta que eles já viu o erro, pressione CTRL+E para parar o FileMon.
  6. Clique se você pretende analisar o log em outro aplicativo, como o Excel, em Salvar no menu arquivo para salvar o log.
Agora que você tem um log de Filemon capturado, você estará pronto para revisá-lo e ver se permissões estão impedindo que o processo do operador ASP.NET iniciar. Você pode revisar o log em FileMon próprio e, em alguns casos, que ’s o método mais fácil. No entanto, se houver muita informação na captura, o Excel é uma ótima maneira de analisar o log de. Se você desejar analisar o log no Excel, simplesmente abrir o arquivo de log e use recursos de filtragem ’s Excel para procurar erros.

Analisando dados no Filemon

Se você optar por analisar os dados no Filemon, convém usar recurso de realce ’s Filemon para tornar mais fácil detectar uma falha. No menu Opções do Filemon, clique em filtro , clique em Realçar e, em seguida, digite Acesso negado na caixa de texto Realçar , conforme mostrado na imagem a seguir.
Filemon's Filter Screen
Depois de configurar essa configuração de realce, qualquer linha que resultou em uma mensagem acesso negado será realçada em vermelho. Você pode agora rapidamente percorrendo o log de Filemon e tenta identificar em que a falha foi, conforme mostrado na imagem a seguir.
Sysinternals with highlight
Neste exemplo, podemos ver que a conta ASPNET local teve acesso negada ao tentar criar um arquivo na pasta C:\inetpub\wwwroot. Verificar as permissões de arquivo nesse local na verdade revelar que a conta ASPNET não possui acesso de gravação.

Isso é um bom exemplo de um cenário comum que vemos no atendimento serviços Microsoft (PSS). Algum tipo de exceção ocorreu, que, em seguida, tiver chamado código de log a exceção. Seu código deve para ser exceções de log em um arquivo de texto, mas quando isso acontece, outra exceção ocorre porque a conta de processo não é possível criar o arquivo de log.

Se você pensa sobre o que acontece em seguida, você consulte incorreto como isso é. Você apenas chegado por conta própria em recursão infinita e o resultado final certamente serão uma falha no processo de operador do ASP.NET devido a um estouro de pilha. Para piorar logo, nenhum seu log de exceção nunca aconteceu, portanto, você terá que um tempo difícil rastrear o que causou a falha quando ele ocorre.

Nós consulte esses problemas com freqüência e a menos que você entende como fazer depuração post-mortem, você provavelmente vai tornar-se bald tentando descobrir o que acontecendo. Felizmente, podemos fornecer-lhe um conjunto extremamente robusto de ferramentas para depurar um aplicativo post-mortem do ASP.NET e acontece apenas assim que eu abrangendo esse tópico no artigo do mês que vem!

Vejo você volta aqui próximo mês quando eu ensina como usar WinDBG e a extensão SOS para analisar despejos de memória.
Até próxima vez,
Jim Cheshire
Engenheiro de suporte
Suporte do Microsoft Developer

Como sempre, fique à vontade enviar idéias sobre tópicos desejado no futuro abordada colunas ou na Base de dados de Conhecimento, usando o formulário Ask For It.

Propriedades

ID do Artigo: 890960 - Última Revisão: 12/09/2015 01:58:06 - Revisão: 2.5

Microsoft ASP.NET 1.1, Microsoft ASP.NET 1.0

  • kbnosurvey kbarchive kbmt kbhowto KB890960 KbMtpt
Comentários