Jak uniknąć okna „program.exe przestał działać” w trybie zwolnienia w systemie Windows?

Pracuję nad rozwojem oprogramowania w C ++ w Visual Studio 2010. Ponieważ to oprogramowanie powinno być uruchamiane na serwerach, na których interakcja między ludźmi nie jest dostępna, naprawdę muszę pozbyć się tego okna „program.exe przestał działać” które pojawia się w wersji wydania w przypadku błędów. Po prostu chcę, aby program zakończył działanie (może także dać komunikat o błędzie, ale niekoniecznie) i nie powinien pozostać zablokowany, czekając, aż ktoś kliknie przycisk „Zamknij program”. Muszę wspomnieć, że na moim komputerze mam 64-bitowy Windows 7 Professional.

Przeczytałem o kilku rzeczach, takich jak:

funkcja _set_abort_behavior. Rozwiązuje to przypadek, gdy wywoływana jest funkcja abort (), ale tak nie jest w przypadku błędów takich jak „indeks dolny poza zakresem”.

Wiem, że mogę rozwiązać niektóre z tych błędów, wykonując obsługę wyjątków, ale nie wszystkie błędy są wyjątkami, dlatego nie rozwiąże to całego mojego problemu.

Przeczytałem też coś o debuggerze Dr Watsona, który ma cicho zakończyć aplikację, ale mam wrażenie, że ten debuger nie jest dostępny dla Windows 7. Plus nie wiem, czy ten debuger rozwiąże mój problem w trybie zwolnienia ...

Nie uważam, że wyłączenie Raportowania błędów na moim komputerze jest elegancką opcją, chociaż czytam, że może to być również alternatywa (nie taka, którą chcę wziąć).

Jak mogę to zrobić w Visual Studio? Czy są jakieś ustawienia, których mogę użyć?

Czy może istnieje sposób na wyłączenie wszystkich błędów w wyjątkach w Visual Studio, dzięki czemu mogę rozwiązać problem za pomocą mechanizmu obsługi wyjątków? (bądź tolerancyjny, jeśli to było głupie pytanie)

Nie mogę się doczekać twoich propozycji. Wielkie dzięki za twój czas!

Pozdrawiam, Cornelia

questionAnswers(3)

yourAnswerToTheQuestion