Podczas debugowania mojej aplikacji w języku C # zauważyłem dużą ilość wystąpień następującego zdania:
Wątek - zakończył pracę z kodem 0 (0x0).
Aplikacja nadal działa i żaden wyjątek nie jest złapany / nieużywany.
Aplikacja działa na 64-bitowym systemie Windows 7 i debuguje na platformie x86.
Odpowiedzi:
To jest tylko komunikat dotyczący debugowania. Możesz to wyłączyć, klikając prawym przyciskiem myszy okno wyjściowe i odznaczając
Thread Exit Messages
.http://msdn.microsoft.com/en-us/library/bs4c1wda.aspx
źródło
Cóż, aplikacja może mieć wiele wątków działających równolegle. Niektóre są uruchamiane przez Ciebie, programistę, inne są uruchamiane przez klasy frameworka (szczególnie jeśli jesteś w środowisku GUI).
Gdy wątek zakończy swoje zadanie, zamyka się i przestaje istnieć. Nie ma w tym nic niepokojącego i nie powinno Cię to obchodzić.
źródło
Aby uzupełnić zaakceptowaną odpowiedź BlueM, możesz ją dezaktywować tutaj:
Narzędzia> Opcje> Debugowanie> Ogólne ustawienia wyjściowe> Komunikaty zakończenia wątku: wyłączone
źródło
jeśli twoja aplikacja używa wątków bezpośrednio lub pośrednio (tj. za kulisami, jak w bibliotece innej firmy), jest to absolutnie powszechne, że wątki kończą się po ich zakończeniu ... co jest w zasadzie tym, co opisujesz ... debugger wyświetla ten komunikat ... możesz skonfigurować debuger tak, aby nie wyświetlał tego komunikatu, jeśli tego nie chcesz ...
Jeśli powyższe nie pomoże, podaj więcej szczegółów, ponieważ nie jestem pewien, z czym dokładnie masz problem ...
źródło
Framework tworzy wątki do obsługi każdego tworzonego okna, np. Podczas tworzenia Form i .Show () go. Kiedy okna się zamykają, wątki są przerywane (tj. Wychodzą).
To normalne zachowanie. Jeśli jednak aplikacja tworzy wątki i istnieje wiele komunikatów o wyjściu wątku odpowiadających tym wątkom (można by to stwierdzić prawdopodobnie po nazwach wątków, nadając im różne nazwy w aplikacji), to być może wskazuje to na problem z aplikacją tworzącą wątki, gdy nie powinna, z powodu błędu logiki programu.
Byłoby interesującym uzupełnieniem, gdyby oryginalny plakat poinformował nas o tym, co odkrył w związku z problemami z awarią serwera. Wydaje mi się, że nie miałoby to z tym nic wspólnego ... ale trudno to stwierdzić na podstawie zamieszczonych informacji.
źródło
Wykonywanie zapytań Linq może generować dodatkowe wątki. Kiedy próbuję wykonać kod, który korzysta z kolekcji zapytań Linq w bezpośrednim oknie, często odmawia wykonania, ponieważ debugger ma za mało wątków.
Jak powiedzieli inni, wyjście nitek po ich zakończeniu jest całkowicie normalne.
źródło
Ja też stanąłem przed tym problemem i rozwiązaniem jest:
Dodałem ten kod ponownie i mój program działał poprawnie:
Application.Run(new PayrollSystem()); //File name this code removed by me accidentally.
źródło