Nie wyświetlaj okien „przestał działać”

8

Korzystam z serwera i czasami jedna z moich aplikacji ulega awarii, co pokazuje to okno dialogowe

wprowadź opis zdjęcia tutaj

Jest to denerwujące, ponieważ utrzymuje proces otwarty, dopóki ktoś fizycznie nie wskoczy na skrzynkę i nie naciśnie „Zamknij program”.

Zastanawiam się, jak mogę wyłączyć to cholernie brudne okno dialogowe na moim serwerze?

Kelly Elton
źródło
5
Uhh ... Może powinieneś dowiedzieć się, dlaczego program się zawiesza, zamiast próbować wyłączyć powiadomienie o awarii? Kiedy zgaśnie lampka kontrolna silnika, odłącz deskę rozdzielczą?
HelpingHand
Sprawdź dzienniki zdarzeń pod kątem możliwych źródeł awarii. Jak wspomniano, wyskakujące okienko istnieje z jakiegoś powodu.
Dave M
4
@HelpingHand Oprogramowanie to oprogramowanie, które napisałem. Spodziewam się, że czasami zawiedzie, po prostu nie mogę z wdziękiem sobie z tym poradzić, kiedy to okno się pojawi. Program powinien mieć możliwość awarii bez wyświetlania okna dialogowego z wszystkimi wyskakującymi oknami (taki zły pomysł, szczególnie na serwerze). Ponadto komentarze nie są tak konstruktywne ani istotne dla pytania: „Najlepsze praktyki Joe Schmoesa” nie były tym, czego szukałem.
Kelly Elton
@ techie007 Program całkowitego zatrzymania jest częścią mojego całego procesu.
Kelly Elton

Odpowiedzi:

11

Sposób rejestracji

Nie ma sposobu na rejestrację.

  1. Otwórz wiersz polecenia z podwyższonym poziomem uprawnień.

  2. Wpisz lub wklej następujące polecenie i naciśnij Enter:

    reg dodaj „HKLM \ SOFTWARE \ Policies \ Microsoft \ Windows \ Windows Error Reporting” / v „DontShowUI” / t REG_DWORD / d 1 / f
    

Dodatkowe informacje

Istnieje również powiązana DontShowUIwartość dla użytkownika HKCU\Software\Microsoft\Windows\Windows Error Reporting. Ustawienia komputera mają pierwszeństwo przed ustawieniami użytkownika, a zmiany są wprowadzane natychmiast.

Do celów testowych możesz użyć Bad Application :

[To narzędzie] emuluje złą aplikację . BadApp pozwala zmienić priorytet procesu, uruchomić nieskończoną pętlę (tzn. „Zawiesić się” lub przestać odpowiadać) i zawiesić proces.


Korzystanie z edytora zasad grupy

  1. Początek gpedit.msc.

  2. Przejdź do Konfiguracja komputera> Szablony administracyjne> Składniki systemu Windows> Raportowanie błędów systemu Windows .

  3. Kliknij dwukrotnie opcję Zapobiegaj wyświetlaniu interfejsu użytkownika dla zasad dotyczących błędów krytycznych i ustaw na Włączone .

Co najmniej Windows Vista.

To ustawienie zasad Zapobiega wyświetlaniu interfejsu użytkownika w przypadku błędów krytycznych.

Jeśli włączysz to ustawienie zasad, Raportowanie błędów systemu Windows nie będzie wyświetlać komunikatów o błędach opartych na graficznym interfejsie użytkownika ani okien dialogowych dotyczących błędów krytycznych.

Jeśli wyłączysz lub nie skonfigurujesz tego ustawienia zasad, Raportowanie błędów systemu Windows wyświetli interfejs użytkownika dla błędów krytycznych.

Źródło: Wyszukiwanie zasad grupy

i31415
źródło
4

Nie mam programu powodującego awarię do testowania pod ręką, ale dajcie temu szansę:

  1. Uruchom, gpedit.mscaby otworzyć edytor zasad.
  2. Nawigować do Computer Configuration > Policies > Administrative Templates > Windows Components > Windows Error Reporting
  3. Włącz zasadę „Zapobiegaj wyświetlaniu interfejsu użytkownika w przypadku błędów krytycznych”.
Ƭᴇcʜιᴇ007
źródło
Dziękuję, że zadziałało. Niestety czuję, że muszę go przekazać drugiemu facetowi, tylko dlatego, że jakość odpowiedzi. Jeszcze raz dziękuję za szybką odpowiedź.
Kelly Elton