Wie vermeide ich, dass "program.exe funktioniert nicht mehr" -Fenster im Release-Modus unter Windows?

Ich arbeite an der Entwicklung einer Software in C ++ für Visual Studio 2010. Da diese Software auf Servern ausgeführt werden sollte, auf denen keine menschliche Interaktion möglich ist, muss dieses Fenster "program.exe funktioniert nicht mehr" unbedingt entfernt werden Das taucht in der Release-Version bei Fehlern auf. Ich möchte nur, dass das Programm beendet wird (möglicherweise wird auch eine Fehlermeldung angezeigt, aber nicht unbedingt) und nicht blockiert bleibt, bis jemand auf die Schaltfläche "Programm schließen" klickt. Ich muss erwähnen, dass ich 64-Bit-Windows 7 Professional auf meinem Computer habe.

Ich habe über verschiedene Dinge gelesen, wie zum Beispiel:

die _set_abort_behavior Funktion. Dies löst den Fall, wenn abort () aufgerufen wird, aber das ist nicht der Fall für Fehler wie "Vektorindex außerhalb des Bereichs".

Ich weiß, dass ich einige dieser Fehler durch Ausnahmebehandlung beheben könnte, aber nicht alle Fehler sind Ausnahmen, daher würde dies nicht mein gesamtes Problem lösen.

Ich habe auch etwas über den Dr. Watson-Debugger gelesen, der die Anwendung stillschweigend beenden soll, aber ich habe den Eindruck, dass dieser Debugger nicht für Windows 7 verfügbar ist. Außerdem weiß ich nicht, ob dieser Debugger mein Problem lösen würde im Freigabemodus ...

Ich finde nicht, dass das Deaktivieren der Fehlerberichterstattung auf meinem gesamten Computer eine elegante Option ist, obwohl ich gelesen habe, dass dies auch eine Alternative sein könnte (nicht wirklich eine, die ich nehmen möchte).

Wie kann ich das in Visual Studio machen? Gibt es irgendwelche Einstellungen, die ich verwenden könnte?

Gibt es möglicherweise eine Möglichkeit, alle Fehler in Ausnahmen in Visual Studio umzuwandeln, damit ich das Problem mit dem Mechanismus zur Ausnahmebehandlung lösen kann? (bitte seien Sie tolerant, wenn dies eine dumme Frage war)

Ich freue mich auf Ihre Vorschläge. Vielen Dank für Ihre Zeit!

Viele Grüße, Cornelia

Antworten auf die Frage(3)

Ihre Antwort auf die Frage