Estoy explorando un minivolcado de un proceso ASP.NET con WinDbg, usando SOS. Si enumero los subprocesos administrados veo una lista de aspecto normal de hilos:No se puede cambiar a hilo administrado en 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)
Sin embargo, si trato de cambiar a enhebrar 7 (el que tiene la excepción), me sale esto:
0:000> ~7s
^Illegal thread error in '~7s'
Esto ocurre al intentar cambiar a cualquier subproceso administrado. No estoy seguro de dónde proceder desde aquí. Lo que realmente necesito hacer es ver el seguimiento de la pila de ese hilo administrado.
Sí, el volcado se tomó durante un bloqueo (al ejecutar 'ADPlus -crash'). ¿Esto significa que no puedo mirar esos hilos en absoluto? – andypaxo
¡Gracias por tu clara explicación! Lo intenté de nuevo, usando '-fullonfirst', y se creó un volcado completo. Lamentablemente, el resultado fue el mismo, con todos los hilos no disponibles. También intenté obtener la excepción directamente del montón, pero el mensaje, el seguimiento de la pila, etc. fueron todos nulos. ¿Tiene alguna idea de por qué hay tan poca información disponible? – andypaxo
@Brian, ¿no debería usarse 'gn' en tu comando sxe? –