以下の内容はhttps://kkamegawa.hatenablog.jp/entry/20070320/p1より取得しました。


ポンプしない状態

.NETアプリをデバッグ(というか、テスト)していたら、次のようなメッセージに遭遇。

マネージ デバッグ アシスタント 'ContextSwitchDeadlock' では 'hoge.exe' に問題を検出しました。
追加情報: CLR は、COM コンテキスト 0x(略) から COM コンテキスト 0x1a9398 へ 60 秒で移行できませんでした。ターゲット コンテキストおよびアパートメントを所有するスレッドが、ポンプしない待機を行っているか、Windows のメッセージを表示しないで非常に長い実行操作を処理しているかのどちらかです。この状態は通常、パフォーマンスを低下させたり、アプリケーションが応答していない状態および増え続けるメモリ使用を導く可能性があります。この問題を回避するには、すべての Single Thread Apartment (STA) のスレッドが、CoWaitForMultipleHandles のようなポンプする待機プリミティブを使用するか、長い実行操作中に定期的にメッセージをポンプしなければなりません。

…ごめんなさい(__)。どこで突入したんだろう…関数テンプレートに間違いがあって、無限ループに突入していた。




以上の内容はhttps://kkamegawa.hatenablog.jp/entry/20070320/p1より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14