Pourquoi est-ce que je vois plusieurs messages «Le thread 0x22c8 est sorti avec le code 259 (0x103)».

Je reçois un grand nombre de ces messages dans mon application Winforms, même si je n’ai jamais explicitement créé de threads. Pourquoi cela arrive-t-il? J’ai cherché des explications, mais il est difficile de trouver une enquête comme celle-ci.

J’utilise Visual Studios 2013 et c’est la sortie de débogage qui me préoccupe:

The thread 0x23a4 has exited with code 259 (0x103). The thread 0x2884 has exited with code 259 (0x103). The thread 0x27ec has exited with code 259 (0x103). The thread 0x1978 has exited with code 259 (0x103). The thread 0x1534 has exited with code 259 (0x103). The thread 0x1ad8 has exited with code 259 (0x103). The thread 0x2938 has exited with code 259 (0x103). The thread 0x22c8 has exited with code 259 (0x103). 

De la documentation MSDN:

Remarques

Cette fonction revient immédiatement. Si le thread spécifié ne s’est pas arrêté et que la fonction a réussi, le statut renvoyé est STILL_ACTIVE. Si le thread est terminé et que la fonction réussit, le statut renvoyé est l’une des valeurs suivantes: La valeur de sortie spécifiée dans la fonction ExitThread ou TerminateThread. La valeur de retour de la fonction thread. La valeur de sortie du processus du thread. Important La fonction GetExitCodeThread renvoie un code d’erreur valide défini par l’application uniquement après la fin du thread. Par conséquent, une application ne doit pas utiliser STILL_ACTIVE (259) en tant que code d’erreur. Si un thread renvoie STILL_ACTIVE (259) en tant que code d’erreur, les applications qui testent cette valeur pourraient interpréter cela comme signifiant que le thread est toujours en cours d’exécution et continuer à tester l’achèvement du thread une fois le thread terminé, ce qui pourrait mettre le thread application dans une boucle infinie.

Donc, fondamentalement, il vérifie toujours le fil actuel de temps en temps.

Cela semble être un bug:

http://connect.microsoft.com/VisualStudio/feedback/details/812144/vs2013-reports-incorrect-thread-exit-code