Я исследую дамп памяти с помощью WinDBG и мне интересно, почему в куче хранятся два System.Threading.ThreadAbortExceptions
, которые оба пусты.
Для остальных трех найденных исключений я понимаю, почему они существуют и что они созданы по умолчанию:
System.ExecutionEngineException
System.StackOverflowException
System.OutOfMemoryException
WinDBG вывод
0: 000>! Система типа dumpheap.Threading.ThreadAbortException
Address MT Size
010210fc 79330ef8 72
01021144 79330ef8 72
total 2 objects
Statistics:
MT Count TotalSize Class Name
79330ef8 2 144 System.Threading.ThreadAbortException
Total 2 objects
0: 000>! Pe 010210fc
Exception object: 010210fc
Exception type: System.Threading.ThreadAbortException
Message: <none>
InnerException: <none>
StackTrace (generated):<none>
StackTraceString: <none>
HResult: 80131530
0: 000>! Pe 01021144
Exception object: 01021144
Exception type: System.Threading.ThreadAbortException
Message: <none>
InnerException: <none>
StackTrace (generated): <none>
StackTraceString: <none>
HResult: 80131530
Так что мои вопросы будут:
- Эти два также созданы по умолчанию и - если так - почему их два?
- Если нет, то почему они пусты?
Дамп памяти из службы Windows.
Обновление с информацией о потоке из дампа
0: 000>! Threads
ThreadCount: 14
UnstartedThread: 0
BackgroundThread: 8
PendingThread: 0
DeadThread: 4
Hosted Runtime: no
PreEmptive GC Alloc Lock
ID OSID ThreadOBJ State GC Context Domain Count APT Exception
0 1 11d4 0015c538 a020 Enabled 00000000:00000000 00163aa0 0 MTA
2 2 71c 0016f6a0 b220 Enabled 00000000:00000000 00163aa0 0 MTA (Finalizer)
3 4 1914 0019ac48 180b220 Enabled 6a205b0c:6a207910 00163aa0 0 MTA (Threadpool Worker)
5 6 1bd4 001b1580 200b020 Enabled 00000000:00000000 00163aa0 0 MTA
6 7 16a4 001bd260 200b220 Enabled 6a1dc7b8:6a1dd910 00163aa0 0 MTA
7 8 870 001c4a58 200b220 Enabled 6a1da740:6a1db910 00163aa0 0 MTA
8 9 2204 001cf798 b220 Enabled 00000000:00000000 00163aa0 0 MTA
9 d 4d8 0021cb98 80a220 Enabled 00000000:00000000 00163aa0 0 MTA (Threadpool Completion Port)
10 e 1b70 002227c0 200b220 Enabled 6a27d820:6a27d910 00163aa0 0 MTA
11 89 2224 68a3fbd0 880b220 Enabled 00000000:00000000 00163aa0 0 MTA (Threadpool Completion Port)
XXXX 11 0 2336e658 8801820 Enabled 00000000:00000000 00163aa0 0 Ukn (Threadpool Completion Port)
XXXX 46 0 16d17270 8801820 Enabled 00000000:00000000 00163aa0 0 Ukn (Threadpool Completion Port)
XXXX 3a 0 16ca7a70 8801820 Enabled 00000000:00000000 00163aa0 0 Ukn (Threadpool Completion Port)
XXXX 3b 0 10e64250 8801820 Enabled 00000000:00000000 00163aa0 0 Ukn (Threadpool Completion Port)