Como evitar a janela "program.exe parou de funcionar" no modo de liberação no Windows?

Estou trabalhando no desenvolvimento de um software em C ++ no Visual Studio 2010. Como esse software deve ser executado em servidores onde a interação humana não está disponível, eu realmente preciso me livrar dessa janela "program.exe parou de funcionar" que aparece na versão de lançamento em caso de erros. Eu só quero que o programa termine (talvez também dê uma mensagem de erro, mas não necessariamente) e que ele não fique bloqueado esperando alguém clicar no botão "Fechar o programa". Eu tenho que mencionar que eu tenho 64 bits do Windows 7 Professional na minha máquina.

Eu li sobre várias coisas, tais como:

a função _set_abort_behavior. Isso resolve o caso quando abort () é chamado, mas esse não é o caso de erros como "subscript vector out of range".

Eu sei que eu poderia estar resolvendo alguns desses erros, fazendo manipulação de exceção, mas nem todos os erros são exceções, portanto, isso não resolveria todo o meu problema.

Eu também li algo sobre o depurador Dr. Watson, que deve encerrar o aplicativo silenciosamente, mas tenho a impressão de que esse depurador não está disponível para o Windows 7. Além disso, não sei se esse depurador resolveria meu problema no modo de lançamento ...

Eu não acho que desabilitar o Error Reporting em toda a minha máquina é uma opção elegante, embora eu tenha lido que isso também poderia ser uma alternativa (não é realmente uma que eu quero levar).

Como posso fazer isso no Visual Studio? Existe alguma configuração que eu possa usar?

Existe talvez uma maneira de transformar todos os erros em exceções no Visual Studio, para que eu possa resolver o problema com o mecanismo de tratamento de exceção? (por favor, seja tolerante se esta foi uma pergunta estúpida)

Estou ansioso por suas propostas. Muito obrigado pelo seu tempo!

Melhores cumprimentos, Cornelia

questionAnswers(3)

yourAnswerToTheQuestion