Artigo: 246084 - Última revisão: quarta-feira, 1 de Novembro de 2006 - Revisão: 1.1

Interpretar o ficheiro DrWtsn32.log para identificar os dados de falha do 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 | Reduzir tudo

Sumário

O Dr. Watson para Windows NT é um depurador de erros no programa que detecta e diagnostica erros no programa e, em seguida, regista as informações de diagnóstico resultantes. No caso de um erro no programa, o Dr. Watson é iniciado automaticamente e, se configurado correctamente, cria ficheiros User.dmp e DrWtsn32.log. Estes ficheiros estão localizados na pasta % SystemRoot %. O ficheiro DrWtsn32.log é anexado sempre que ocorre um erro no programa; o ficheiro User.dmp é substituído.

Este artigo descreve como rever o ficheiro DrWtsn32.log para identificar o programa que falhou quando ocorreu a falha, a instrução de assemblagem onde ocorreu a falha e uma lista de funções envolvidas na falha.

Mais Informação

A exactidão dos dados no ficheiro DrWtsn32.log depende os símbolos correctos para o programa no computador que está a ser instalado na pasta %SystemRoot%\Symbols no momento da falha. Se tiver instalados os símbolos correctos, o ficheiro DrWtsn32.log contém informações suficientes para determinar a função que causou a falha. Em seguida, pode utilizar estas informações para pesquisar a base de dados de conhecimento da Microsoft de questões conhecidas relacionadas com a função. Se símbolos não são instalados ou símbolos incorrectos são instalados, os dados no ficheiro DrWtsn32.log está limitados a identificar o programa que falhou e quando a falha ocorreu. Se os símbolos correctos estão instalados está dependente manutenção do administrador do servidor de ficheiros de símbolos. Depois de instalar ficheiros de símbolos no servidor, o administrador do servidor tem de actualizar os ficheiros de símbolo sempre que um service pack ou correcção é instalada no servidor.

Porque o ficheiro DrWtsn32.log é anexado para cada falha, a última informação de falha está localizada na parte inferior do registo. Para localizar informações no ficheiro DrWtsn32.log:
  1. Abra o ficheiro DrWtsn32.log no Notepad.exe.
  2. Desloque-se para o fim do ficheiro.
  3. Clique na última linha do ficheiro.
  4. No menu Procurar , clique em Localizar .
  5. Na caixa de diálogo Localizar , escreva erro ->.
  6. Na área direcção , clique em para cima .
  7. Clique em OK . O bloco de notas localiza a última falha ocorrida e a instrução de assemblagem não foi bem sucedida.
Nota : A precisão do ficheiro DrWtsn32.log é dependente os símbolos correctos a ser 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)
				
depois de identificar a função, pode pesquisar a Microsoft Knowledge Base para determinar se a falha for um problema conhecido e se está disponível uma correcção possível. Seguir as instruções de assemblagem, a secção "Pilha anterior rastreio" lista as funções à esquerda para a falha. A secção "Pilha anterior rastreio" pode fornecer um caminho de código geral que descreve o que aconteceu à esquerda para a função tiver êxito. A função superior é onde ocorreu a falha.
-----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 localizar o erro, pode identificar o programa falhou a ID do processo (PID), data e hora da falha:
  1. No menu Procurar , clique em Localizar .
  2. Na caixa de diálogo Localizar , aplicação .
  3. Na área direcção , clique em para cima .
  4. Clique em OK . Os resultados da procura apresentar 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)
				
corresponder a data e hora da falha devem aos data e hora do ficheiro User.dmp porque ambos os ficheiros são escritos quando ocorre a falha.

Se símbolos não são instalados no servidor quando a falha ocorre, a seguinte informação é apresentada quando procura a falha. Reparar a cadeia "função: (nosymbols)." Isto indica que o processo do Dr. Watson não conseguiu 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) 
				
procurar 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)
				
pode consultar o ficheiro DrWtsn32.log para identificar falhas de software de outros fabricantes. Uma vez que alguns fabricantes de software efectuar os símbolos disponíveis publicamente, os dados estão normalmente limitados para o nome do programa, data e hora. Quando localizar o erro, a localização do erro também poderá apresentar "(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
				
também pode consultar o ficheiro DrWtsn32.log para determinar o número de vezes que ocorreu uma falha ao continuar a procurar para cima a cadeia "erro" ou "aplicação".

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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes 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/ )