问题描述
我已使用任务管理器对正在运行的应用程序进行转储,并在windbg中打开了转储。 我知道在我的C#应用程序中,线程之一正在轮询某些任务1分钟。如果没有收到,它将等待10毫秒,然后再次开始轮询1分钟。 我在转储文件中看到了很多线程:
~
# 0 Id: 2208.1aa8 Suspend: 0 Teb: 00000098`eecc4000 Unfrozen
1 Id: 2208.5cc Suspend: 0 Teb: 00000098`eeccc000 Unfrozen
2 Id: 2208.c38 Suspend: 0 Teb: 00000098`eecce000 Unfrozen
3 Id: 2208.2810 Suspend: 0 Teb: 00000098`eecda000 Unfrozen
4 Id: 2208.10e0 Suspend: 0 Teb: 00000098`eecdc000 Unfrozen
. 5 Id: 2208.2d28 Suspend: 0 Teb: 00000098`eecde000 Unfrozen
6 Id: 2208.161c Suspend: 0 Teb: 00000098`eece0000 Unfrozen
7 Id: 2208.15e4 Suspend: 0 Teb: 00000098`eece2000 Unfrozen
8 Id: 2208.27a4 Suspend: 0 Teb: 00000098`eece8000 Unfrozen
9 Id: 2208.2308 Suspend: 0 Teb: 00000098`eecec000 Unfrozen
10 Id: 2208.d08 Suspend: 0 Teb: 00000098`eecf2000 Unfrozen
11 Id: 2208.2f7c Suspend: 0 Teb: 00000098`eecf4000 Unfrozen
12 Id: 2208.1338 Suspend: 0 Teb: 00000098`eecfc000 Unfrozen
现在,我该如何检查哪个特定线程正在执行轮询任务。 我尝试查看线程的堆栈跟踪信息,但毫无意义。
例如,线程0具有以下堆栈跟踪:
0 Id: 2208.1aa8 Suspend: 0 Teb: 00000098`eecc4000 Unfrozen
Start: IDBrigade+0x4bf0e (0000019d`b17bbf0e)
Priority: 0 Priority class: 32 Affinity: f
Child-SP RetAddr Call Site
00000098`eeefe8a8 00007ffb`13e88933 ntdll!ZwWaitForSingleObject+0x14
00000098`eeefe8b0 00007ffb`153415bf KERNELBASE!WaitForSingleObjectEx+0x93
00000098`eeefe950 00007ffb`15340ea0 sechost!ScSendResponseReceiveControls+0x13b
00000098`eeefea90 00007ffb`153419e0 sechost!ScdispatcherLoop+0x140
00000098`eeefebd0 00007ffb`02cfbf47 sechost!StartServiceCtrldispatcherW+0x70
00000098`eeefec00 00007ffb`02cfeea6 System_ServiceProcess_ni+0x2bf47
00000098`eeefecb0 00007ffa`a75004fb System_ServiceProcess_ni+0x2eea6
00000098`eeefed20 00007ffb`06ae6813 0x7ffa`a75004fb
00000098`eeefed70 00007ffb`06ae66c8 clr!CallDescrWorkerInternal+0x83
00000098`eeefedb0 00007ffb`06ae6d9d clr!CallDescrWorkerWithHandler+0x4e
00000098`eeefedf0 00007ffb`06b4d16c clr!MethodDescCallSite::CallTargetWorker+0xf8
00000098`eeefeef0 00007ffb`06b4d356 clr!RunMain+0x1e7
00000098`eeeff0d0 00007ffb`06b4d24b clr!Assembly::ExecuteMainMethod+0xb6
00000098`eeeff3c0 00007ffb`06b4d044 clr!SystemDomain::ExecuteMainMethod+0x57c
00000098`eeeff9d0 00007ffb`06b4cfc2 clr!ExecuteEXE+0x3f
00000098`eeeffa40 00007ffb`06b4d3f4 clr!_CorExeMainInternal+0xb2
00000098`eeeffad0 00007ffb`07947cbd clr!CorExeMain+0x14
00000098`eeeffb10 00007ffb`0821a57c mscoreei!CorExeMain+0x112
00000098`eeeffb70 00007ffb`14e47974 mscoree!CorExeMain_Exported+0x6c
00000098`eeeffba0 00007ffb`17a1a271 kernel32!BaseThreadInitThunk+0x14
00000098`eeeffbd0 00000000`00000000 ntdll!RtlUserThreadStart+0x21
我对此无能为力。任何人都可以帮忙吗?这是我第一次进行线程转储分析。.
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)