121

C#アプリケーションのデバッグ中に、次の文が大量に発生していることに気付きました。

スレッド-はコード0(0x0)で終了しました。

アプリケーションは引き続き機能し、例外がキャッチされたり手渡されたりすることはありません。

アプリケーションはWindows764ビットで実行されており、x86プラットフォームでデバッグされています。

4

8 に答える 8

186

これは単なるデバッグメッセージです。出力ウィンドウを右クリックしてチェックを外すと、オフに切り替えることができますThread Exit Messages

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

アプリケーションからプログラムアウトすることに加えて、出力ウィンドウには以下に関する情報を表示できます。

  • デバッガーがロードまたはアンロードしたモジュール。

  • スローされる例外。

  • 終了するプロセス。

  • 終了するスレッド。

于 2012-09-13T16:18:47.110 に答える
17

ええと、アプリケーションは並行して実行されている多くのスレッドを持っているかもしれません。いくつかはあなた、コーダーによって実行され、いくつかはフレームワーククラスによって実行されます(特にあなたがGUI環境にいる場合)。

スレッドがタスクを終了すると、スレッドは終了し、存在しなくなります。つまり、これには何も憂慮すべきことはなく、気にする必要はありません。

于 2012-09-13T16:17:11.023 に答える
12

BlueMの承認された回答を完了するために、ここで非アクティブ化できます。

ツール>オプション>デバッグ>一般的な出力設定>スレッド終了メッセージ:オフ

于 2016-12-15T13:25:07.650 に答える
7

アプリケーションが直接または間接的にスレッドを使用する場合(つまり、サードパーティのライブラリのように舞台裏で)、スレッドが完了した後にスレッドを終了させることは絶対に一般的です...これは基本的にあなたが説明することです...デバッガーはこのメッセージを表示します...必要がない場合は、このメッセージを表示しないようにデバッガーを構成できます...

上記が役に立たない場合は、あなたが直面している問題が正確に何であるかわからないので、詳細を提供してください...

于 2012-09-13T16:16:45.293 に答える
1

フレームワークは、フォームを作成して.Show()する場合など、作成する各ウィンドウをサポートするスレッドを作成します。ウィンドウが閉じると、スレッドは終了します(つまり、スレッドは終了します)。

これは正常な動作です。ただし、アプリケーションがスレッドを作成していて、これらのスレッドに対応するスレッド終了メッセージが多数ある場合(アプリでスレッドの名前を指定することで、スレッドの名前でわかる可能性があります)、おそらくこれは問題を示していますプログラムのロジックエラーが原因で、アプリがスレッドを作成すべきでないときにスレッドを作成します。

サーバーのクラッシュの問題に関して彼/彼が発見したことを元のポスターに知らせてもらうことは興味深いフォローアップになるでしょう。これとは何の関係もない気がしますが…投稿された情報からはわかりづらいです。

于 2014-08-17T13:47:42.323 に答える
1

Linqクエリを実行すると、余分なスレッドが生成される可能性があります。即時ウィンドウでLinqクエリコレクションを使用するコードを実行しようとすると、デバッガーで使用できるスレッドが不足しているため、実行を拒否することがよくあります。

他の人が言っているように、スレッドが終了したときに終了するのは完全に正常です。

于 2019-03-08T12:52:46.540 に答える
-1

このエラーを停止するには、この簡単な手順に従う必要があります

  1. VisualStudioを開きます
  2. 上からオプションデバッグを選択します
  3. オプションを選択
  4. Option Select debugで、debuggingの下でGeneralを選択します。
  5. 一般選択チェックボックス「デバッグ停止時にコンソールを自動的に閉じる」
  6. それを保存

次に、ショートカットキーCtrl+f5を使用してコードを実行します

**それ以外の場合は、直接実行するとエラーが表示されます

于 2020-11-30T06:33:32.463 に答える
-5

私もこの問題に直面しており、解決策は次のとおりです。

  1. ソリューション探索を開く
  2. Program.csファイルをダブルクリックします

このコードを再度追加すると、プログラムは正確に実行されました。

Application.Run(new PayrollSystem()); 
//File name this code removed by me accidentally.
于 2020-01-30T10:57:48.843 に答える