Os erros de tempo de execução no Windows são tão antigos quanto o próprio sistema operacional. É uma mensagem de erro comum ver quando um aplicativo falha, mas o que exatamente é um erro de tempo de execução e o que você pode fazer a respeito?
O desenvolvimento de software é complexo e os aplicativos modernos dependem de bibliotecas sofisticadas e dados de suporte para funcionar conforme o esperado. Este guia ajudará você a entender por que os erros de tempo de execução acontecem e como minimizá-los.
Índice
O que é um erro de tempo de execução?
O termo “erro de tempo de execução” refere-se a qualquer erro de aplicativo quando um programa é executado. Em outras palavras, acontece com um programa em execução. Isso contrasta com os erros que ocorrem durante a compilação de um programa. A compilação é o processo de pegar o código de programação (o código “fonte”) e convertê-lo em código binário que pode ser ativado pelo sistema operacional. Se qualquer parte do código-fonte for inválida, o compilador irá parar e dar uma mensagem de erro.
Erros de tempo de execução ocorrem quando o executável compilado encontra uma situação em que não sabe o que fazer a seguir ou algo interfere em sua operação normal. Nesse ponto, ele jogará a toalha e dará um erro de tempo de execução.
Diferentes tipos de erro de tempo de execução
Como os erros de tempo de execução são definidos de forma tão ampla, solucioná-los pode ser complicado. Isso ajuda a entender quais tipos comuns de erro você pode encontrar. Os cinco tipos de erro abaixo não são exaustivos, mas são os culpados mais prováveis.
Erros lógicos
Erros lógicos acontecem quando o computador literalmente encontra algo que “não computa.” É uma saída gerada pelo código do programa que produz um resultado inesperado, às vezes impossível, porque a lógica do código não acompanha ou os programadores não anteciparam um conjunto específico de condições ou entradas.
Vazamentos de memória
Um vazamento de memória ocorre quando um programa não devolve a memória que solicitou depois que não precisa mais dela. Com o tempo, os vazamentos de memória deixam cada vez menos recursos para outros programas, levando à degradação do desempenho e, eventualmente, a erros de tempo de execução. Isso é interessante porque o software que relata um erro de tempo de execução geralmente não é aquele com vazamento de memória. É apenas uma vítima do vazamento.
Divisão por zero
É impossível dividir por zero, então quando seu computador tenta, ele implode em um buraco negro. Estou brincando! Ele travará o programa com um erro de tempo de execução do tipo “não é possível dividir por zero”.
Objetos indefinidos
Esse erro geralmente está associado a Java e JavaScript, onde variáveis que não receberam um valor ou não t sido declarado. Em outras palavras, não há dados em uma variável ou o código se refere a uma variável que não existe. Basicamente, o programador estragou tudo de alguma forma.
Erros de IO
Erros de E/S ou de entrada/saída ocorrem quando um programa tenta ler ou gravar dados de um dispositivo de armazenamento e falha. Isso pode ocorrer por vários motivos, desde uma unidade desconectada até um disco rígido ou hardware USB com defeito. Discos ópticos arranhados são outra causa comum de erros de E/S.
Como corrigir erros de tempo de execução
Então você encontrou um erro de tempo de execução e está chateado porque você está tentando fazer as coisas. Embora tenhamos mencionado acima que os erros de tempo de execução vêm em variedades diferentes, e erros específicos podem indicar qual tipo, existem algumas correções gerais que podem funcionar independentemente dos detalhes.
Reiniciar o computador
Reiniciar o computador pode resolver problemas de vazamento de memória ou limpar caches de dados temporários ou outros dados de trabalho que possam ter causado a interrupção de um programa. Se um problema desaparecer após uma reinicialização, isso não ajudará a esclarecer a causa, mas para problemas ocasionais, uma reinicialização é uma solução rápida para tentar.
Atualize o aplicativo
Na maioria das vezes, os erros de tempo de execução no software resultam de bugs no próprio software. Uma vez que um desenvolvedor de software esteja ciente desses bugs, eles geralmente corrigem o problema e lançam uma atualização para o aplicativo. Portanto, uma das primeiras coisas que você deve fazer é verificar se há uma atualização disponível para o seu software.
Talvez mais importante, quando você encontrar um erro de tempo de execução do Windows, você deve denunciá-lo aos desenvolvedores. Às vezes, há um botão de relatório ao lado da mensagem de erro; em outras ocasiões, pode ser necessário fazer uma captura de tela ou anotar um código de erro e entrar em contato por e-mail ou mídia social. Relatar um novo bug pode acelerar a obtenção de uma correção.
Atualizar o Windows
Erros de tempo de execução também podem ocorrer devido a bugs ou outros problemas no próprio Microsoft Windows, que geralmente são corrigidos nas atualizações do Windows. Pequenos problemas geralmente são resolvidos em “hotfixes”, que são pequenas atualizações que corrigem problemas urgentes específicos.
Como alternativa, se um programa começar a apresentar erros de tempo de execução logo após uma atualização do Windows, você pode excluir a última atualização até que os desenvolvedores atualizem o software.
Atualize seus drivers desatualizados
Drivers são softwares que permitem que o sistema operacional controle seu hardware, como o adaptador de vídeo (também conhecido como placa de vídeo). Novo software ou software recém-atualizado pode contar com recursos que existem apenas na versão mais recente do driver, portanto, ao atualizar os drivers dos componentes do computador, você pode corrigir erros de tempo de execução relacionados ao hardware.
Reinstalar ou reparar o aplicativo
Erros de tempo de execução podem ser o resultado de arquivos ou dados corrompidos do aplicativo. Portanto, quando o executável do programa tenta acessar os dados de que precisa para funcionar, ele se depara com erros porque esses dados estão errados ou ausentes.
Ao desinstalar o aplicativo e reinstalá-lo, você pode substituir os dados corrompidos por uma nova cópia. Talvez você não precise desinstalar o aplicativo primeiro. Muitos aplicativos oferecem uma opção de “reparo” ou “verificação” quando você executa o instalador novamente ou tenta desinstalá-los na seção Programas e recursos do Painel de controle.
Fechar todos os outros aplicativos
Erros de tempo de execução causados por vazamentos de memória ou porque um determinado aplicativo precisa de mais memória do que a disponível podem ser mitigados fechando todos os programas não essenciais que estiverem abertos. Você também pode querer ajustar o tamanho do seu arquivo de troca, para criar um pouco mais de espaço para aplicativos que não cabem na RAM.
Se você tem certeza de que os erros de tempo de execução são causados pela capacidade de memória e não por um vazamento de memória, você também pode considerar atualizar a quantidade de RAM em seu computador para lidar com essas cargas de trabalho mais pesadas.
Execute o Windows no modo de segurança ou execute uma inicialização limpa
Se você suspeitar que os erros de tempo de execução que está enfrentando são o resultado de drivers ou outros aplicativos de software em segundo plano, você pode use o modo de segurança ou uma inicialização limpa para confirmá-lo.
Modo de segurança é um modo de inicialização especial no Windows que carrega apenas o mínimo de drivers e serviços do Windows. Se o problema desaparecer no modo de segurança, você pode ter certeza de que o problema está relacionado ao driver (atualize-o) ou a um serviço do Windows. Consulte nosso guia sobre como iniciar no modo de segurança para ver se isso ajuda. Em caso afirmativo, você pode querer experimentar desabilitar serviços na guia de serviços MSConfig.
Uma inicialização limpa é quase o oposto do modo de segurança. Em vez de carregar um sistema operacional mínimo, o Windows desativa todos os softwares de inicialização de terceiros. Se uma inicialização limpa resolver o erro de tempo de execução, provavelmente é um aplicativo de terceiros que precisa ser desabilitado, atualizado ou substituído. Consulte nosso guia sobre como executar uma inicialização limpa.
Atualizar componentes de tempo de execução
O software geralmente depende de bibliotecas de software compartilhadas e componentes de tempo de execução de software padrão. Se eles não estiverem instalados, estiverem corrompidos ou forem da versão errada, podem causar problemas. Exemplos de tais componentes de tempo de execução incluem o pacote redistribuível Microsoft Visual C++.
Você pode baixar o redistribuível VC++ necessário no site da Microsoft, mas geralmente está incluído no software necessário. Portanto, reinstalar ou reparar o aplicativo também deve restaurar a biblioteca de tempo de execução do Visual C++. Este é um dos problemas de componente de tempo de execução mais fáceis de identificar, porque a mensagem de erro de tempo de execução geralmente especifica que é um “erro de tempo de execução C++”.
Verificar arquivos corrompidos
A corrupção de dados ocorre quando os uns e zeros que compõem um arquivo são danificados ou substituídos por algum motivo. Danos ao sistema ou arquivos de aplicativos podem levar a erros inesperados de tempo de execução.
Você pode executar o Windows System File Checker (SFC) para verificar e reparar danos aos arquivos do sistema. Para aplicativos, na maioria das vezes o instalador terá uma opção de “reparo” se você executá-lo sem desinstalar o aplicativo primeiro. Com clientes de software como o Steam, você também pode usar a opção “verificar” em seus jogos para verificar se os arquivos ainda estão inteiros.
Execute uma verificação de malware
Muitos tipos de malware se injetam no código em execução, corrompem arquivos de dados ou alteram arquivos executáveis. Tudo isso pode levar a erros de tempo de execução. Para descartar malware como o motivo dos erros, execute uma verificação usando seu software antivírus ou antimalware favorito.
Realize um teste de memória
Antes que o software em execução chegue à CPU para processamento, ele para na RAM. Se sua RAM estiver com defeito, isso pode causar erros de tempo de execução difíceis de rastrear. Execute um teste de memória e certifique-se de que não há problemas com bits invertidos em seus módulos de memória!