C# 找出哪个方法、类或对象创建了这么多线程

C# 找出哪个方法、类或对象创建了这么多线程,c#,multithreading,C#,Multithreading,我有一个需要全天候运行的服务器应用程序。连接到服务器的客户端在几天后挂断。我们刚刚了解到服务器(通过内存转储)生成了800多个线程!在某些情况下,它将达到100+!我知道这真的太多了,一定是因为客户的电话没有得到服务 0:000> !threads -live ThreadCount: 809 UnstartedThread: 790 BackgroundThread: 14 PendingThread: 790 DeadThread: 1 Hosted Ru

我有一个需要全天候运行的服务器应用程序。连接到服务器的客户端在几天后挂断。我们刚刚了解到服务器(通过内存转储)生成了800多个线程!在某些情况下,它将达到100+!我知道这真的太多了,一定是因为客户的电话没有得到服务

0:000> !threads -live
ThreadCount:      809
UnstartedThread:  790
BackgroundThread: 14
PendingThread:    790
DeadThread:       1
Hosted Runtime:   no
                                   PreEmptive   GC Alloc                Lock
       ID  OSID ThreadOBJ    State GC           Context       Domain   Count APT Exception
   0    1   d4c 012be0a0   2006020 Enabled  00000000:00000000 012b7310     0 STA
   2    2   d54 012c9dd0      b220 Enabled  00000000:00000000 012b7310     0 MTA (Finalizer)
   3    3   d60 0131a0c0   100a220 Enabled  00000000:00000000 012b7310     0 MTA (Threadpool Worker)
   4    4   d64 01331ef0      b220 Enabled  00000000:00000000 012b7310     0 MTA
   6    6   d70 01337348   1000220 Enabled  00000000:00000000 012b7310     0 Ukn (Threadpool Worker)
   7    7   d8c 0133f100   2000220 Enabled  00000000:00000000 012b7310     0 Ukn
   9    a   f90 06c2c948   2000220 Enabled  00000000:00000000 012b7310     0 Ukn
  10    b   9a8 06c33f48   200b020 Enabled  00000000:00000000 012b7310     0 MTA
  11    c   584 06c34450   200b020 Enabled  00000000:00000000 012b7310     0 MTA
  12    d   5f4 06c35758   200b020 Enabled  00000000:00000000 012b7310     0 MTA
  13   12   970 06ca6d08   2000220 Enabled  00000000:00000000 012b7310     0 Ukn
  14    e  1254 06ca8b38   2000220 Enabled  00000000:00000000 012b7310     0 Ukn
  15   13  12f0 06ca9548   2000220 Enabled  00000000:00000000 012b7310     0 Ukn
  16    5  10ec 06ca7210   2000220 Enabled  00000000:00000000 012b7310     0 Ukn
  17    f  1d90 06cac290   a009220 Enabled  259e45ac:259e4fe8 012b7310     0 MTA (Threadpool Completion Port)
  19   19  1124 06ca7718   8009220 Enabled  258f90c4:258fafe8 012b7310     0 MTA (Threadpool Completion Port)
  20    8  1394 06ca9040   2000220 Enabled  00000000:00000000 012b7310     0 Ukn
  22  322  21d4 13698f50   2000220 Enabled  259e6394:259e6fe8 012b7310     0 Ukn

服务器代码由数千行代码组成。有没有一个简单的工具来检查哪个对象生成了那么多线程

你需要一个探查器。试试探查器——我用redgate的结果很好-