簡體   English   中英

為什么我看到多個“線程 0x22c8 已退出,代碼為 259 (0x103)”。 消息

[英]Why am I seeing multiple “The thread 0x22c8 has exited with code 259 (0x103).” messages

盡管我從未明確創建任何線程,但我在我的 Winforms 應用程序中收到了大量這些消息。 為什么會這樣? 我四處尋找解釋,但很難說出這樣的詢問。

我正在使用 Visual Studios 2013,這是我關心的調試輸出:

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).

來自 MSDN 文檔:

評論

該函數立即返回。 如果指定線程未終止且函數成功,則返回狀態為 STILL_ACTIVE。 如果線程已終止並且函數成功,則返回的狀態為以下值之一: ExitThread 或 TerminateThread 函數中指定的退出值。 線程函數的返回值。 線程進程的退出值。 重要 GetExitCodeThread 函數僅在線程終止后返回由應用程序定義的有效錯誤代碼。 因此,應用程序不應使用 STILL_ACTIVE (259) 作為錯誤代碼。 如果線程返回 STILL_ACTIVE (259) 作為錯誤代碼,則測試此值的應用程序可能會將其解釋為線程仍在運行並在線程終止后繼續測試線程是否完成,這可能會導致應用進入無限循環。

所以基本上它仍然不時檢查當前線程。

這似乎是一個錯誤:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM