プロジェクトでFluorineFx 1.0.0.17を使用しNetConnection
ており、RTMP ホスト (Flash Media Server) に接続するために使用しています。PRTG 用の RTMP 監視プローブを作成しています。
ファイルの 173 行目のメイン アプリケーション プロセスの最後に常にエラーがありWorkItemsQueue.cs
ます (ここに示す 2 番目のコード行)。
// Prepare array of wait handle for the WaitHandle.WaitAny()
WaitHandle [] waitHandles = new WaitHandle [] { WaitEntry.WaitHandle, cancelEvent };
// Wait for available resource, cancel event, or timeout.
int index = WaitHandle.WaitAny(waitHandles, millisecondsTimeout, true);
これはデバッガーが私に示すものです:
コール スタック:
[In a sleep, wait, or join]
[External Code]
FluorineFx.dll!FluorineFx.Threading.WorkItemsQueue.DequeueWorkItem(int millisecondsTimeout, System.Threading.WaitHandle cancelEvent) Line 173 + 0xd bytes C#
FluorineFx.dll!FluorineFx.Threading.ThreadPoolEx.Dequeue() Line 329 + 0x2c bytes C#
FluorineFx.dll!FluorineFx.Threading.ThreadPoolEx.ProcessQueuedItems() Line 378 + 0x8 bytes C#
[External Code]
kernel32.dll!749c3677()
[Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll]
ntdll.dll!770e9f42()
ntdll.dll!770e9f15()
プロセスの最後とは、プログラム全体が正常に動作することを意味しますが、メイン メソッド デバッガーの最後にこのアンマネージ コード エラーがスローされます (アンマネージ コードのデバッグを有効にするが有効な場合にのみ表示されます)。
これをデバッグする方法も、回避する方法もわかりません。どんな助けでも大歓迎です。
更新 1:
メイン スレッドは次の場所で停止します。
Environment.Exit(0);