:. Indique este site a um amigo...
 3073057 visitas desde 28/02/1999  |  Responsável: Carlos E. Morimoto
 :. Novo na área?! Leia nosso tutorial: Hardware para Iniciantes

Seções
Colunas :. Papo Aberto
Relacionados

+ HOME
   :. Análises
   :. Artigos
   :. Cursos Online
       :. Hardware
       :. Redes
       :. Linux (foca)
       :. Gravação CDs
       :. Notebooks
       :. Setup
   :. Livros
      
:. Entendendo e
    Dominando o Linux 4.Ed
   :. Arquivo DDD
   :. Dicionário
   :. FAQ
   :. Notícias
   :. Dicas Linux
   :. Overclock
   :. Tutoriais

+ Publicações
   :. CD GDH
   :. CDs Mandrake
   :. CDs do Linux
   :. E-Books

+ Outros
   :. Fórum
   :. Humor
   :. Palm
   :. Quiz

+ Pesquisar no site:

+ Expediente

+ Doações

+ Comente esta
   Matéria

Dúvidas sobre
Linux?
Baixe o E-book
Entendendo e Dominando o Linux
de Carlos E. Morimoto
ou increva-se no
Curso de Linux
em SP


Invista em
conhecimento:
:.CD-ROM Guia do Hardware: Todos os e-books e uma cópia off-line de todo o site por R$ 21,00
:.Linux Mandrake 9.0 GDH, com manual em Português e aplicativos. 4 CDs por R$ 24,00
:. E-Books de Carlos E. Morimoto:
Manual de Hardware Completo 3ed.
Redes 3ed
Upgrade e Manutenção
Novas tecnologias 3Ed
Entendendo e Dominando o Linux
Dicionário Técnico de Informática. R$ 8,00

:. CDs do Linux:
Slackware 8.1 R$ 8,00
Red Hat 8.0 R$ 16,00
DemoLinux 3.0 R$ 8,00
Knoppix R$ 8,00
Peanut 9.1 R$ 8,00
FreeBSD 4.5 R$ 20,00
NetBSD 4.5 R$ 16,00
Libranet R$ 8,00
Debian 3.0 R$ 35,00
Definity R$ 8,00
E outros...

 

Dicas do dia : Receba as atualizações do Guia do Hardware todos os dias, direto no seu e-mail. Clique aqui para se inscrever.
 

Data: 27.07.2001  :. Em Reformulação!
Assunto: Códigos de erro do Windows
Por: Kleber Credidio
Contato:

 

   Códigos de erro do Windows

Nesta primeira parte, veremos o que são os erros FEE (Fatal Exception Error, ou Erro de Exceção Fatal), qual o significado de cada código e, consequentemente, a solução para cada caso.

É aconselhável ter este material impresso, principalmente para os técnicos de plantão.

Bem, mãos à obra!! :-)


:. Fatal Exception Error (FEE) - O que são

O FEE é, basicamente, uma interpretação errada de alguma instrução por parte do processador. Pode acontecer, por exemplo, de uma instrução que devia ter sido dirigida para o controlador de memória ter sido captada pelo processador, que não está apto a executar tal instrução. Resultado: FEE. Claro que isto pode acontecer com outros subsistemas do hardware, através da interrupção NMI (Non Maskable Interrupt - Interrupção de Memória não Mascarável). No Windows, tais erros são constantes basicamente de 14 interrupções especiais e uma de hardware (NMI), chamadas de exceções. Como o próprio nome diz, são chamadas de interrupções por serem eventos inesperados que provocam a interrupção do funcionamento harmonioso do sistema.

Os FEE podem ocorrer desde o Windows 95 até o Windows Millennium.


:. Quando ocorrem

Os FEE costumam ser causados por problemas no hardware - indo de um mau-contato até a queima de algum componente. No entanto, aplicações também podem provocar um FEE. De acordo com a Microsoft, um FEE é gerado principalmente ao iniciar uma aplicação - seja um Bloco de Notas, seja o próprio Windows. Ocorre ao executar uma instrução ilegal, quando um parâmetro ilegal para determinada instrução é fornecido ou quando a instrução é executada sem que outras, anteriormente necessárias, tenham sido executadas, desrespeitando os devidos privilégios necessários.

Outros fatores que podem provocar uma FEE são bugs no BIOS ou incompatibilidades entre os dispositivos da máquina. Assim, sempre que um dos drivers dos dispositivos incompatíveis são acionados, o conflito manifesta-se através de uma exceção fatal. Na grande maioria das vezes em que isto ocorre, o sistema fica instável durante o restante da operação, exigindo uma reinicialização - isto quando não é necessário reiniciar no ato da FEE.


:. Como são exibidos os FEE

Sempre que ocorre um Erro de Exceção Fatal, são exibidas telas específicas (normalmente, as famigeradas telas azuis) com códigos "estranhos" que podem ajudar na identificação do problema. Para isto, basta entender o significado dos códigos, que veremos mais adiante.

Vamos ver, de um modo mais técnico, como funciona:

- O sistema, ao ser carregado, já "prepara" rotinas especiais a serem adotadas em caso de exceções fatais. O primeiro passo adotado por estas rotinas é alterar a exibição para modo de texto, pois a interface gráfica é mais suscetível a erros e pode não conseguir exibir o código de erro, ou mesmo responder. Então, é exibida a
mensagem de erro: o aviso do erro em si e o endereço em que foi lida a instrução na qual ocorreu a exceção. Ou seja, aparecerá algo mais ou menos assim:

Ocorreu um erro fatal AB em xxxx:yyyy yyyy, onde:

AB é um código numérico hexadecimal, que indica qual foi a interrupção.

x indica o trecho do código que levou à exceção.

y é a posição de memória 32 bits que acionou a interrupção. É a parte mais importante do código.

Endereços baixos costumam apontar problemas no hardware, seja no hardware em si (falha de fabricação, mal contato, etc) ou no driver do dispositivo; podem ser intermitentes, temporários ou permanentes.


:. Tabela de erros FEE

Veremos a seguir uma tabela com os códigos de FEE e seus significados:

:. 00H - Erro de divisão
Geralmente significa uma divisão por zero. Matematicamente falando, o resultado desta divisão por zero é um número indeterminado que tende ao infinito, não podendo ser expresso por processadores atuais. Este erro também pode ser causado se o resultado de uma divisão não puder ser armazenado no destino, comumente chamado de "estouro de divisão".

Provavelmente, os erros 00H são causado por um driver ou programa defeituosos. Podem também ser causados pelo processador, memória ou seus circuitos de controle baseados na placa mãe.


:. 02H - Interrupção NMI
Esta é uma das interrupções básicas existentes desde os primeiros computadores padrão x86. Ela ocorre quando determinada via elétrica do processador é acionada por qualquer subsistema da placa mãe, que detecte algum possível erro.

O termo "Não mascarável" é usado devido ao fato de não ser possível "escondê-la" do sistema, como ocorre com diversas outras interrupções que podem ser contornadas através de programação. Nos processadores mais novos, a via NMI foi aprimorada, sendo chamada de LINT1, de "Local APIC Interrupt". Esta comporta-se
como a NMI, quando o sistema não tem um controle APIC("Advanced Programmable Inerrupt Controller"), ou "Controlador Avançado Programável de Interrupções". Em alguns processadores como o Athlon e outros a via NMI continua com a mesma nomenclatura.

A Interrupção NMI está associada com um problema de hardware, ou então, mais remotamente, com algum "driver". Não é um bom sinal quando começam a ocorrer erros de NMI, pois denotam que o próprio hardware está apresentando problemas, e provavelmente vai precisar de substituições.


:. 04H - Overflow Trap

Denota casos de overflow (sobrecarga). Significa que o resultado de determinada operação matemática não pôde ser armazenada no destino, ou "exceção 0". Os programadores normalmente empregam registradores de memória suficientemente grandes para armazenar os maiores números que determinada operação pode
fornecer, entretanto nem sempre isto ocorre. Assim, normalmente, este tipo de erro está ligado a programas mal escritos.


:. 05H - Erro de Limites
Todo dado que é armazenado em memória ocupa uma região delimitada, com um limite inferior e outro superior. Qualquer tentativa de ler ou, principalmente gravar dados fora da região pré-determinada pode invadir a área destinada a outro dispositivo ou parâmetro, causando um erro 05H. A detecção deste erro exige que programas tenham sido compilados com a opção "bound checking" habilitada, o que torna sua execução um pouco mais lenta.


:. 06H - Operador Inválido
Esta interrupção ocorre sempre que o processador recebe um comando inválido, por ter um comando inválido, ou por não ser compatível com o modo atual de execução do Windows, seja este o modo "protegido" ou o modo "real".

Este problema pode ser causado por algum programa, porém seria um erro grosseiro de compilação. O mais provável é que seja causado por falha de hardware, geralmente na placa mãe, especificamente no chipset ou no controlador de memória. Pode ser um mau contato, causado por oxidação ou por estar mau encaixado. Pode também ser ocasionado por super aquecimento de algum componente, notadamente o NorthBridge ou o processador. Pode ser também alguma configuração errada na placa mãe, em relação a algum dispositivo instalado, notadamente o processador e as memórias.

Problemas com o disco rígido também causam falhas de leituras dos dados armazenados, podendo causar este erro.


:. 07H - Coprocessador ausente
Os computadores podem ter ou não o coprocessador matemático, destinado a auxiliar o processador principal nas operações de ponto flutuante. Todos os processadores, a partir do 486DX, trazem incorporados o coprocessador matemático. Assim, se esta mensagem de erro for exibida com certeza o próprio processador
ou algum componente da placa mãe estão defeituosos.


:. 08H - Dupla falta
Durante o processamento das exceções fatais, pode ocorrer nova falha. Como a exceção original ainda está sendo processada, o segundo erro causa a exceção 08H, significando que novo problema ocorreu, além do erro original.


:. 09H - Operação de FPU ilegal

A memória do PC é utilizada em blocos, denominadas segmentos, e os dados são armazenados de forma contínua nestes segmentos. Quando isto não ocorre e alguma instrução de ponto flutuante for pedida envolvendo os dados armazenados nesta região, é acionada a interrupção 09H.


:. 0AH - Segmento de estado de tarefa inválido
Exceção genérica, que indica erro no segmento de memória que armazena informações sobre o status de determinada tarefa. Esta exceção força um segundo erro, com informações mais detalhadas.


:. 0BH - Segmento não presente
Esta interrupção auxilia o sistema operacional na tarefa de gerenciar a memória virtual, que é parte da memória RAM que foi temporariamente armazenada no disco rígido. Se houver algum problema na memória virtual, a interrupção 0BH é acionada.


:. 0CH - Falha de Pilha
A pilha ("stack") é uma quantidade de memória utilizada para armazenar dados de forma temporária, simplificando a tarefa do processador buscar os dados. Quando ocorrem erros na organização destas "pilhas", pode ocorrer uma exceção 0CH ou então um erro de GPF. Este erro pode indicar também algum problema com o subsistema de memória ou com algum driver.


:. 0DH - Falha Geral de Proteção (GPF)
Estas exceções são tratadas posteriormente pelo Windows, criando a categoria dos GPF's, que são todas as outras exceções não cobertas pelas outras condições de EEF (veremos isto adiante). Algumas exceções podem ser causadas por problemas com os sistemas de vídeo e de som, ou então com os controladores do chipset. Muito provavelmente, os aplicativos que estão em execução no Windows estão exigindo mais dos subsistemas, especialmente do de vídeo. Tenta-se executar o sistema com o driver padrão VGA do Windows. Se o erro parar de ocorrer, provavelmente uma versão atualizada ou paralela do driver de vídeo resolverá o problema.


:. 0EH - Falha de Página
Esta exceção também auxilia no gerenciamento da memória virtual. O sistema operacional verifica se a página está na memória virtual, e se está com os dados corretos. Caso positivo, a instrução que causou a exceção é reavaliada e a tarefa prossegue normalmente. Caso negativo, a exceção será gerada. Normalmente, as exceções 0EF são causadas por memórias com problema, mas também é possível que alguma aplicação defeituosa ou driver seja o causado do erro.

Quando ocorre um erro 0EH, ocasionado por problemas com a memória RAM, é bem provável que o endereço retornado comece com "BF". Pode ser causado também por problemas na controladora de discos, seja ela IDE ou SCSI. Pode também ser causado pelo controlador VMM ("Virtual Memory Manager"), um arquivo do tipo "VXD". Neste dois últimos casos, exige uma boa chance de corrigir o problema instalando-se um driver ou biblioteca DLL mais adequados ou corrigidos.


:. 10H - Erro no coprocessador (Coprocessor Error Fault)
Assim como acontece com as exceções 07H, qualquer erro com operações de ponto flutuante que não esteja incluído nas classes anteriores e que não esteja bloqueando as exceções NMI causa uma interrupção 10H.


:. 11H - Falha de alinhamento
Esta exceção é característica dos processadores Intel classe 486, e está ligada à execução de determinadas instruções específicas da série.


As exceções 01H, 03H e 15H não foram definidas propositadamente. Nas pesquisas que efetuei, não consegui achar parâmetros para elas.

Veja, o fato de ocorrer uma FEE não é motivo para pânico. Pode-se, sim, dar uma atenção especial caso aconteça com freqüência - neste caso é preciso ver o que acontece e aplicar as soluções cabíveis. Como já dito, elas podem ocorrer por vários motivos, inclusive softwares com erros de programação.

Com a tabela acima, fica fácil saber quais as soluções aplicáveis para cada caso. Vale lembrar que não se deve descartar o sistema de isolamento do problema.

Na próxima edição da Papo Aberto, vou continuar este assunto; desta vez falando sobre os GPF's (General Protection Failure). Confira! (05.08.2001)

Kleber Credidio
Comente esse assunto no fórum

 

© 1999 - 2002 :. Todos os direitos reservados :. Carlos E. Morimoto
Melhor visualizado em qualquer browser. Você escolhe o que usar, não nós :-)