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 trava, mas o que exatamente é um erro 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 de dados de suporte para funcionar conforme o esperado. Este guia ajudará você a entender por que ocorrem erros de tempo de execução e como minimizá-los.
O que é um erro de tempo de execução?
O termo “erro de execução” refere-se a qualquer erro de aplicativo quando um programa é executado. Em outras palavras, isso acontece com um programa em execução. Isso contrasta com os erros que ocorrem durante a compilação de um programa. 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 excitado pelo sistema operacional. Se alguma parte do código-fonte for inválida, o compilador irá parar e exibir uma mensagem de erro.
Erros de tempo de execução acontecem 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. Neste ponto, ele jogará a toalha e apresentará um erro de execução.
Diferentes tipos de erros 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 erros você pode encontrar. Os cinco tipos de erros abaixo não são completos, mas são os culpados mais prováveis.
Erros lógicos
Erros de lógica acontecem quando o computador encontra literalmente 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 rastreia ou os programadores não anteciparam um conjunto específico de condições ou entradas.
Vazamentos de memória
Um vazamento de memória acontece quando um programa não devolve a memória solicitada depois de não precisar 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 execução geralmente não é aquele com vazamento de memória. É apenas uma vítima do vazamento..
Dividindo por Zero
É impossível dividir por zero, então quando seu computador tenta, ele implode e se transforma em um buraco negro. Estou brincando! Isso travará o programa com um erro de tempo de execução semelhante a “não é possível dividir por zero”.
Objetos indefinidos
Este erro geralmente está associado a Java e JavaScript, onde variáveis às quais não foi atribuído um valor ou não foram declaradas. 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 errou de alguma forma.
Erros de E/S
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 riscados 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 isso está incomodando você porque você está tentando fazer as coisas. Embora tenhamos mencionado acima que os erros de tempo de execução vêm em diferentes variedades, e erros específicos podem indicar qual tipo, existem algumas correções gerais que podem funcionar independentemente dos detalhes.
Reinicie seu 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 a reinicialização, isso não ajudará a esclarecer a causa, mas, para problemas ocasionais, reiniciar é uma solução rápida a ser tentada.
Atualizar o aplicativo
Na maioria das vezes, os erros de tempo de execução no software resultam de bugs no próprio software. Assim que um desenvolvedor de software estiver ciente desses bugs, ele geralmente corrigirá o problema e lançará 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 o mais importante seja que, ao encontrar um erro de execução do Windows, você deve reportá-lo aos desenvolvedores. Às vezes, há um botão de relatório ao lado da mensagem de erro; outras vezes, 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 solução..
Atualizar janelas
Os 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çou a apresentar erros de execução logo após uma atualização do Windows, você pode querer exclua 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 gráfica). Software novo ou software recém-atualizado pode depender de recursos que existem apenas na versão mais recente do driver, portanto, ao atualizar drivers para os componentes do seu computador, você poderá corrigir erros de tempo de execução relacionados ao hardware.
Reinstalar ou reparar o aplicativo
Erros de tempo de execução podem ser resultado de arquivos ou dados de aplicativos corrompidos. Portanto, quando o executável do programa tenta acessar os dados necessários para funcionar, ele encontra erros porque os 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 “reparar” ou “verificar” quando você executa o instalador novamente ou tenta Desinstalar 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 aplicativo específico precisa de mais memória do que a disponível podem ser atenuados fechando todos os programas não essenciais que estão abertos. Você também pode 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ê tiver certeza de que os erros de execução são causados pela capacidade da memória e não por um vazamento de memória, considere também atualizar a quantidade de RAM do 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 execução que está enfrentando são resultado de drivers ou outros aplicativos de software em segundo plano, use o Modo de segurança ou uma inicialização limpa para confirmar..
O Modo de segurança é um modo de inicialização especial do Windows que carrega apenas drivers e serviços mínimos 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 em como iniciar no modo de segurança para ver se isso ajuda. Se isso acontecer, você pode experimentar desabilitar serviços no 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 desativado, atualizado ou substituído. Consulte nosso guia em como realizar uma inicialização limpa.
Atualizar componentes de tempo de execução
O software geralmente depende de bibliotecas de software compartilhadas e de componentes de tempo de execução de software padrão. Se estes não estiverem instalados, estiverem corrompidos ou forem da versão errada, isso pode causar problemas. Exemplos de tais componentes de tempo de execução incluem o Pacote redistribuível do Microsoft Visual C++.
Você pode baixar o VC++ redistribuível necessário no site da Microsoft, mas ele geralmente vem incluído com o 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 acontece quando os uns e zeros que compõem um arquivo são danificados ou substituídos por algum motivo. Danos aos arquivos do sistema ou do aplicativo podem levar a erros inesperados de execução.
Você pode executar o Verificador de arquivos do sistema Windows (SFC) para verificar e reparar danos aos arquivos do sistema. Para aplicativos, na maioria das vezes o instalador terá uma opção de “reparar” se você executá-lo sem desinstalar o aplicativo primeiro. Com clientes de software como o Vapor, você também pode usar a opção “verificar” nos 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..
Faça um teste de memória
Antes que o software em execução chegue à CPU para processamento, ele para na RAM. Se a sua RAM estiver com defeito, isso pode causar erros de execução difíceis de rastrear. Execute um teste de memória e certifique-se de que não há problema com bits invertidos em seus módulos de memória!
.