Windows-Fehlermeldungen wegmachen



  • Wir haben ne Menge einzelner Komponenten laufen. Das ganze läuft 24 Stunden am Tag und normalerweise problemlos. Jetzt kommt es aber hin und wieder vor, dass mal ein Programm abstürzt. Das ganze ist nicht so schlimm, weil das System wenig kritisch ist und eine abgekrachte Komponente automatisch neu gestarted wird. Wichtig ist nur, dass alles den ganzen Tag über funktioniert, wobei mal ein Aussetzer von wenigen Minuten nicht weiter stört.

    Ein Problem gibts aber, wenn so ein Windows-Fehlermeldungs-Fenster kommt: "Zugriffsverletzung ... Bitte fragen Sie Ihren Administrator". Dann läuft nämlich der Prozess noch, was zur Folge hat, dass er nicht neu gestarted wird. Allerdings scheint er komplett zu halten, weil auch der programminterne Thread, der den Lauf den Programms überwacht und es ggf beenden würde auch nichts mehr tut.

    Den Dr. Watson kann man ja über die Registry ausschalten. Geht das mit den Zugriffsverletzungsfehlern auch irgendwie? (WinNT)



  • Das wirst Du wohl nur "über Eck" lösen können, d.h. einen globalen Watchdogprozeß, bei dem sich alle Prozesse namentlich anmelden und regelmäßig melden. Sobald eine Meldung über die Timeout-Zeit hinaus ausbleibt, muß dann der Watchdog selbst den Prozeß (er könnte diese gleich zu Beginn ja starten, dann kennt er die IDs) killen. Wenn der Watchdog für das Anlegen zuständig ist, hat das den Vorteil, daß er die Rechte (hat ja den Prozeß erzeugt) und die IDs&Co ganz genau kennt.

    Einen anderen Weg sehe ich da nicht.



  • Was soll das denn? Könnt ihr nicht einfach die Fehler beheben? Alles andere ist ekelhaft. 🙂



  • Hab was in der WinAPI gefunden:

    SetErrorMode

    Kennt das jemand? Sollte es damit gehn? Da steht, es sollte eigentlich nur von Debuggern verwendet werden

    @Tobias: Wenn wir wüssten, wo sie her kommen. Wir fürchten das liegt irgendwo im VisiBroker.


Anmelden zum Antworten