De thread is afgesloten met code 0 (0x0) zonder onverwerkte uitzondering

Tijdens het debuggen van mijn C#-toepassing heb ik een groot aantal gevallen van de volgende zin opgemerkt:

De thread — is afgesloten met code 0 (0x0).

De applicatie blijft werken en geen enkele uitzondering wordt opgevangen/overhandigd.

De applicatie draait op Windows 7 64bit en foutopsporing met x86-platform.


Antwoord 1, autoriteit 100%

Dit is slechts een foutopsporingsbericht. Je kunt dat uitschakelen door met de rechtermuisknop in het uitvoervenster te klikken en Thread Exit Messagesuit te vinken.

http://msdn.microsoft.com/en-us/library/ bs4c1wda.aspx

Naast het uitprogrammeren vanuit uw toepassing, is het venster Uitvoer
kan de informatie weergeven over:

  • Modules die de debugger heeft geladen of verwijderd.

  • Uitzonderingen die worden gegooid.

  • Proces die worden afgesloten.

  • Threads die eindigen.


Antwoord 2, autoriteit 9%

Nou, een toepassing kan veel threads parallel hebben lopen. Sommige worden beheerd door u, de codeur, andere worden beheerd door framework-klassen (vooral als u zich in een GUI-omgeving bevindt).

Wanneer een thread zijn taak heeft voltooid, wordt deze afgesloten en houdt op te bestaan.
Er is hier niets alarmerends aan en het zou u ook niet kunnen schelen.


Antwoord 3, autoriteit 6%

Om het geaccepteerde antwoord van BlueM te voltooien,
je kunt het hier deactiveren:

Extra’s > Opties > Foutopsporing > Algemene uitvoerinstellingen > Berichten voor afsluiten van discussielijn: Uit


Antwoord 4, autoriteit 4%

Als uw toepassing direct of indirect threads gebruikt (dwz achter de schermen, zoals in een bibliotheek van derden), is het absoluut gebruikelijk dat threads worden beëindigd nadat ze zijn voltooid… wat in feite is wat u beschrijft… de debugger toont dit bericht… je kunt de debugger zo configureren dat dit bericht niet wordt weergegeven als je het niet wilt…

Als het bovenstaande niet helpt, geef dan meer details, aangezien ik niet zeker weet wat het probleem precies is waar je mee te maken hebt…


Antwoord 5

Het raamwerk creëert threads ter ondersteuning van elk venster dat u maakt, bijvoorbeeld wanneer u een formulier maakt en .Show() het maakt. Wanneer de vensters sluiten, worden de threads beëindigd (dwz ze worden afgesloten).

Dit is normaal gedrag. Als de toepassing echter threads aan het maken is en er zijn veel thread-exit-berichten die overeenkomen met deze threads (men zou mogelijk kunnen zien aan de namen van de thread, door ze verschillende namen in de app te geven), dan is dit misschien een indicatie van een probleem waarbij de app threads aanmaakt wanneer dat niet zou moeten, vanwege een logische fout in het programma.

Het zou een interessant vervolg zijn als de originele poster ons zou laten weten wat hij/zij ontdekte met betrekking tot de problemen met het crashen van de server. Ik heb het gevoel dat het hier niets mee te maken heeft… maar dat is moeilijk op te maken uit de geposte informatie.


Antwoord 6

Het uitvoeren van Linq-query’s kan extra threads genereren.
Wanneer ik code probeer uit te voeren die Linq-queryverzameling in het directe venster gebruikt, weigert deze vaak te worden uitgevoerd omdat er niet genoeg threads beschikbaar zijn voor de debugger.

Zoals anderen al hebben gezegd, is het volkomen normaal dat threads worden afgesloten als ze klaar zijn.


Antwoord 7

Stop deze fout, u moet deze eenvoudige stappen volgen

  1. Visual Studio openen
  2. Selecteer optie debug vanaf de bovenkant
  3. Selecteer opties
  4. In Optie Selecteer foutopsporing onder foutopsporing selecteer Algemeen
  5. In Algemeen Selecteer het selectievakje “De console automatisch sluiten bij het debuggen stop”
  6. Opslaan

Voer vervolgens de code uit met de sneltoets Ctrl+f5

**Anders geeft het nog steeds een foutmelding als je het direct uitvoert


Antwoord 8

Ik heb ook met dit probleem te maken gehad en de oplossing is:

  1. open oplossing Verkennen
  2. dubbelklik op het Program.cs-bestand

Ik heb deze code opnieuw toegevoegd en mijn programma werkte nauwkeurig:

Application.Run(new PayrollSystem()); 
//File name this code removed by me accidentally.

Other episodes