SOS를 사용하여 WinDbg로 ASP.NET 프로세스의 미니 덤프를 탐색 중입니다. 나는 7 (을 제외하고 하나) 스레드로 전환하려고하면, 나는이 얻을 그러나WinDbg의 관리되는 스레드로 전환 할 수 없습니다.
0:000> !threads
ThreadCount: 8
UnstartedThread: 0
BackgroundThread: 8
PendingThread: 0
DeadThread: 0
Hosted Runtime: no
PreEmptive Lock
ID OSID ThreadOBJ State GC GC Alloc Context Domain Count APT Exception
XXXX 1 12bc 00000000001441f0 1808220 Disabled 0000000140b10fc8:0000000140b12f20 000000000017f6e0 0 Ukn (Threadpool Worker)
XXXX 2 1334 0000000000152f90 b220 Enabled 0000000000000000:0000000000000000 0000000000121b90 0 Ukn (Finalizer)
XXXX 3 138c 000000000017b100 80a220 Enabled 0000000000000000:0000000000000000 0000000000121b90 0 Ukn (Threadpool Completion Port)
XXXX 4 81c 000000000017eb40 1220 Enabled 0000000000000000:0000000000000000 0000000000121b90 0 Ukn
XXXX 5 5e4 00000000001bccd0 880a220 Enabled 0000000000000000:0000000000000000 0000000000121b90 0 Ukn (Threadpool Completion Port)
XXXX 6 11e4 0000000004bee280 180b220 Disabled 0000000000000000:0000000000000000 0000000000121b90 0 Ukn (Threadpool Worker)
XXXX 7 73c 0000000004c267e0 180b220 Disabled 0000000140b0f158:0000000140b10f20 000000000017f6e0 3 Ukn (Threadpool Worker) System.StackOverflowException (000000007fff0138) (nested exceptions)
XXXX 8 21c 00000000001ad1c0 180b220 Enabled 0000000000000000:0000000000000000 0000000000121b90 0 Ukn (Threadpool Worker)
:
0:000> ~7s
^Illegal thread error in '~7s'
내가 관리 스레드를 게시하면 내가 스레드의 정상적인 찾고 목록을 보려면
관리되는 스레드로 전환하려고 할 때 발생합니다. 여기에서 어디로 가야할지 모르겠습니다. 실제로해야 할 일은 관리되는 스레드의 스택 추적을 보는 것입니다.
예, 덤프는 충돌하는 동안 ('ADPlus -crash'를 실행하여) 수행되었습니다. 이것은 내가 그 스레드를 전혀 볼 수 없다는 것을 의미합니까? – andypaxo
명확한 설명에 감사드립니다. 나는'-fullonfirst'를 사용하여이 작업을 다시 시도 했으므로 전체 덤프가 작성되었습니다. 불행히도 결과는 동일하며 모든 스레드를 사용할 수 없습니다. 나는 또한 힙에서 직접 예외를 얻으려고했지만 메시지, 스택 추적 등은 모두 null이었다. 정보가 거의없는 이유를 아십니까? – andypaxo
@Brian, sxe 명령에'gn'을 사용해서는 안됩니까? –