Em primeiro lugar, esse erro não é sua culpa.
Algum programador esqueceu de lidar com algum erro em seu programa, então ele falha.
É claro que o problema não tem para estar no próprio aplicativo (assim o programador está fora do gancho). Pode ser no Windows ou pode estar no runtime do MSVC, ou no runtime do .Net ou nos drivers da sua placa de vídeo ou qualquer outra coisa (é por isso que sempre é solicitado que você instale todas as atualizações antes de entrar em contato com o suporte).
Então você tem tudo isso coberto, mas o problema persiste. O que agora?
Bem, agora a única coisa que resta é que o aplicativo em questão está com defeito e o programador não está fora do gancho para este ( A-HA! ). Então, é o problema do autor do software. Então, entre em contato com eles e pergunte se eles poderiam ajudá-lo e corrigir esse problema.
Mas e se eles me disserem que seu software é perfeito, eu sou o único com esse problema e, geralmente, é minha culpa?
Agora vem a parte divertida. Você pode encontrar a causa real de sua mensagem de erro.
O que a aplicação realmente disse ao sistema operacional que fez o sistema operacional ir " Você precisa se desligar do f-down! "?
Para fazer isso, você tem muitas ferramentas à sua disposição.
- Arquivos de log
- O log de eventos do Windows
- Process Monitor
Se o aplicativo em questão gravar qualquer arquivo de log, ele poderá ser considerado ouro em busca da causa do problema do aplicativo. Leia e discuta possíveis mensagens de erro aqui.
O log de eventos do Windows certamente conterá algumas informações sobre o aplicativo danificado. Se for realmente um aplicativo .Net, você pode até ter sorte e conseguir extrair uma pilha de chamadas do log (o que seria muito útil para desenvolvedores).
Se tudo mais falhar, vá para Process Monitor . O Process Monitor é uma ferramenta que registra todas a comunicação entre um aplicativo e o sistema operacional (por assim dizer). Assim, nos dados capturados resultantes, você podia ver exatamente qual função o aplicativo chamava que resultava na condição de erro não tratada. Isso pode ser algo trivial como tentar acessar um arquivo ou objeto de registro inexistente. Mas descobrir que uma chamada no registro pode levar muito tempo e, se você não tiver experiência com desenvolvimento de software, provavelmente não chegará muito longe com essa abordagem.
Se isso faz você ir " Bem, é muito improvável que isso me ajude a resolver meu problema. ", então provavelmente você está certo. Embora possa ser divertido tentar rastrear um problema como esse para certas pessoas, geralmente é o trabalho da pessoa que escreveu o software com falha.
Eles estão muito melhor equipados para encontrar o problema do que você. Um relatório de bug adequado pode ser um longo caminho, às vezes.