.Net サービスでハンドル リークをデバッグしようとしていますが、スレッド ハンドル リークに困惑しています。誰かがこれがどのように起こるか説明してもらえますか? タスク マネージャーは、各テスト期間後に 22 のアクティブなスレッドのみを報告しますが、ハンドル数は増加し続けます。
各テスト期間の後、ハンドル カウントを取得する前に、GC を強制するメッセージを送信します。
もちろん、イベント ハンドル リークもありますが、その方が説明や修正が簡単です。
D:\log\SEEService>handle -p 82080 -s
Handle v3.46
Copyright (C) 1997-2011 Mark Russinovich
Sysinternals - www.sysinternals.com
Handle type summary:
ALPC Port : 8
Desktop : 1
Directory : 3
EtwRegistration : 35
Event : 97397
File : 36
IoCompletion : 3
Key : 38
KeyedEvent : 1
Mutant : 9
Section : 23
Semaphore : 15
Thread : 22845
Timer : 5
Token : 1
TpWorkerFactory : 4
WindowStation : 2
Total handles: 120426