ID do artigo: 246084 - Última revisão: quarta-feira, 1 de novembro de 2006 - Revisão: 1.1

Interpretando o arquivo DrWtsn32.log para identificar dados de memória de programa

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
Expandir tudo | Recolher tudo

Sumário

Dr. Watson para Windows NT é um depurador de erro de programa que detecta e diagnostica erros de programa e, em seguida, registra as informações de diagnóstico resultantes. No caso de um erro de programa, o Dr. Watson é iniciado automaticamente e, se configurado adequadamente, cria arquivos DrWtsn32.log e User.dmp. Esses arquivos estão localizados na pasta % SystemRoot %. O arquivo DrWtsn32.log é acrescentado sempre que ocorrer um erro de programa; o arquivo User.dmp é substituído.

Este artigo descreve como analisar o arquivo DrWtsn32.log para identificar o programa que travou, quando a falha ocorreu, a instrução de assembly onde ocorreu a falha e uma listagem de funções envolvidas na falha.

Mais Informações

A precisão dos dados no arquivo DrWtsn32.log depende dos símbolos corretos para o programa no computador que está sendo instalado na pasta %SystemRoot%\Symbols no momento da falha. Se os símbolos corretos estiverem instalados, o arquivo DrWtsn32.log contém informações suficientes para determinar a função que causou a falha. Em seguida, você pode usar essas informações para pesquisar a base de dados de Conhecimento Microsoft para problemas conhecidos sobre a função. Se símbolos não são instalados ou símbolos incorretos estiverem instalados, os dados no arquivo DrWtsn32.log são limitados para identificar o programa que falhou e quando a falha ocorreu. Se os símbolos corretos estiverem instalados é dependente de manutenção do administrador do servidor de arquivos símbolo. Depois que os arquivos de símbolo forem instalados no servidor, o administrador do servidor deve atualizar os arquivos de símbolo cada vez que um service pack ou hotfix é instalado no servidor.

Porque o arquivo DrWtsn32.log é acrescentado para cada falha, as informações de falha últimos são localizadas na parte inferior do log. Para localizar informações no arquivo DrWtsn32.log:
  1. Abra o arquivo DrWtsn32.log em Notepad.exe.
  2. Role até o final do arquivo.
  3. Clique na última linha no arquivo.
  4. No menu Pesquisar , clique em Localizar .
  5. Na caixa de diálogo Localizar , digite Falha->.
  6. Na área direção , clique em backup .
  7. Clique em OK . O bloco de notas localiza a última falha que ocorreu e a instrução de assembly que não foi bem-sucedida.
Observação : A precisão do arquivo DrWtsn32.log é dependente os símbolos corretos que está sendo instalados no servidor no momento da falha.

Exemplo:
Function: FIDL::EcAddFids -- Function where the fault occurred
        0040cf31 e89b74ffff       call    ExchMHeapReAlloc (004043d1)
        0040cf36 85c0             test    eax,eax
        0040cf38 0f8454580b00  je FIDL::EcAddFids_44s_185on_23230069s_971e (004c2792)
        0040cf3e 8b13     mov  edx,[ebx]          ds:0715f4f0=00000000
        0040cf40 8b742418 mov  esi,[esp+0x18]     ss:082cde7b=???
        0040cf44 8d0ced00000000                   ds:0000c401=????????
        0040cf4b 894304   mov     [ebx+0x4],eax   ds:082cdef6=????????
        0040cf4e 8d3cd0   lea     edi,[eax+edx*8] ds:00000000=????????
        0040cf51 8bc1   mov     eax,ecx
        0040cf53 c1e902 shr     ecx,0x2
FAULT ->0040cf56 f3a5   rep  movsd ds:00000000=??? es:074238a8=00000000
        0040cf58 8bc8   mov     ecx,eax
        0040cf5a 83e103 and     ecx,0x3
        0040cf5d f3a4   rep     movsb         ds:00000000=?? es:074238a8=00
        0040cf5f 012b   add     [ebx],ebp              ds:0715f4f0=00000000
        0040cf61 ebbc   jmp     FIDL::EcAddFids+0x13 (0040cf1f)
        0040cf63 e8234dffff call    ExchMHeapAlloc (00401c8b)
        0040cf68 ebcc   jmp     FIDL::EcAddFids+0x2a (0040cf36)
				
após identificar a função, você pode pesquisar a base de dados de Conhecimento Microsoft para determinar se a falha for um problema conhecido e uma possível correção está disponível. Abaixo instruções assembly, a seção "Fazer rastreamento de pilha" lista as funções levando à falha. A seção "Fazer rastreamento de pilha" pode fornecer um caminho de código geral que descreve o que ocorreu à esquerda para a função sem êxito. A função superior é onde a falha ocorreu.
-----Stack Back Trace------

FramePtr ReturnAd Param#1  Param#2  Param#3  Param#4  Function Name
0715f480 005eb60a 0000c401 00000000 0715f59c 00000000 store!FIDL::EcAddFids [omap]  (FPO: [EBP 0x0000c401] [2,0,4])
0715f494 0059d4d4 00000000 00062008 103d0003 0715f59c store!PRFE::EcSetPostReply [omap]  (FPO: [2,0,2])
0715f4fc 004c4f4e 0715f59c 0715f558 00000000 0740eee0 store!STREAM::EcConfig [omap]  (FPO: [EBP0x103d0003] [2,19,4])
0715f564 00439407 00000004 0715f59c 07419510 00000000 store!OMSG::EcSetOneProp_2135_221c_96069s_971e
[omap]  (FPO: [EBP 0x00000000] [2,19,4])
0715f600 0063fc78 000004e4 00000028 07423338 0715f648 store!CVTOMSG::HrSetProps [omap]  (FPO: [EBP0x07419510] [3,32,4])
				
depois de você localizar a falha, você pode identificar o programa que falhou, a identificação de processo (PID), data e hora da falha:
  1. No menu Pesquisar , clique em Localizar .
  2. Na localização caixa de diálogo, aplicativo .
  3. Na área direção , clique em backup .
  4. Clique em OK . Os resultados de pesquisa exibem o programa, PID, hora e data da falha.
Exemplo:
Application exception occurred:
        App: exe\store.dbg (pid=304)
        When: 11/11/1999 @ 9:23:32.640
        Exception number: c0000005 (access violation)
				
a data e hora da falha devem coincidir a data e hora do arquivo User.dmp porque ambos os arquivos são criados quando a falha ocorre.

Se símbolos não estiverem instalados no servidor quando a falha ocorre, as informações a seguir são exibidas quando você procurar a falha. Observe a seqüência de caracteres "função: (nosymbols)." Isso indica que o processo do Dr. Watson não pôde localizar os símbolos na pasta %SystemRoot%\Symbols:
function: (nosymbols) ----With no symbols installed
        0040cf31 e89b74ffff       call    004043d1
        0040cf36 85c0             test    eax,eax
        0040cf38 0f8454580b00     je      004c2792
        0040cf3e 8b13             mov     edx,[ebx]              ds:06a5f4f0=00000000
        0040cf40 8b742418         mov     esi,[esp+0x18]         ss:07bcde7b=????????
        0040cf44 8d0ced00000000   lea     ecx,[00000000+ebp*8]   ds:0000c401=????????
        0040cf4b 894304           mov     [ebx+0x4],eax          ds:07bcdef6=????????
        0040cf4e 8d3cd0           lea     edi,[eax+edx*8]        ds:00000000=????????
        0040cf51 8bc1             mov     eax,ecx
        0040cf53 c1e902           shr     ecx,0x2
FAULT ->0040cf56 f3a5            rep  movsd ds:00000000=???????? es:074238e0=00000000
        0040cf58 8bc8             mov     ecx,eax
        0040cf5a 83e103           and     ecx,0x3
        0040cf5d f3a4             rep     movsb         ds:00000000=?? es:074238e0=00
        0040cf5f 012b             add     [ebx],ebp              ds:06a5f4f0=00000000
        0040cf61 ebbc             jmp     0040cf1f
        0040cf63 e8234dffff       call    00401c8b
        0040cf68 ebcc             jmp     0040cf36
        0040cf6a 53               push    ebx
        0040cf6b 8b1da8114000     mov     ebx,[004011a8]         ds:004011a8=77f674c0
        0040cf71 56               push    esi
        0040cf72 8bf1             mov     esi,ecx

---- Stack Back Trace ----

FramePtr ReturnAd Param#1  Param#2  Param#3  Param#4  Function Name
0000c401 00000000 00000000 00000000 00000000 00000000 store!(nosymbols) 
				
procurando o programa para cima:
Application exception occurred:
        App: exe\store.dbg (pid=311)
        When: 11/11/1999 @ 10:11:1.875
        Exception number: c0000005 (access violation)
				
você pode analisar o arquivo DrWtsn32.log para identificar falhas de software de terceiros. Porque alguns fabricantes de software fazem seus símbolos publicamente disponíveis, os dados são geralmente limitados para o nome do programa, data e hora. Quando você localizar a falha, o local de falha também pode exibir "(nosymbols)."

Exemplo:
Application exception occurred:
       App:  (pid=344)
       When: 6/29/1999 @ 16:46:44.728
       Exception number: c0000005 (access violation)

209 ntpd.exe
385 XlntNetS.exe
429 CMD.exe
344 XlntNetS.exe  -----PID=344, This app crashed
591 XlntCli.exe
571 DRWTSN32.exe
				
você também pode analisar o arquivo DrWtsn32.log para determinar o número de vezes que uma falha ocorreu por continuar a pesquisar para cima a seqüência de caracteres "Falha" ou "aplicativo".

A informação contida neste artigo aplica-se a:
  • Microsoft Windows NT Server 4.0 Standard Edition
Palavras-chave: 
kbmt kbinfo KB246084 KbMtpt
Tradução automáticaTradução automática
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: 246084  (http://support.microsoft.com/kb/246084/en-us/ )