¿Cómo ver los detalles de excepción administrada en WinDBG?
-
08-07-2019 - |
Pregunta
El compilador VS2005 C # se bloquea durante el proceso de compilación nocturno de nuestro equipo. Lo adjunto con WinDBG, cargo extensiones SOS, imprimo la pila de llamadas, pero no puedo ver la información de excepción.
¡Lo intenté! PrintException, de la siguiente manera:
0:000> !PrintException There is no current managed exception on this thread
Aquí está la parte superior de la pila de llamadas:
0:000> !CLRStack OS Thread Id: 0x9fc (0) ESP EIP 0012ee08 77e4bef7 [ComPlusMethodFrameGeneric: 0012ee08] Microsoft.Build.Tasks.Hosting.ICscHostObject.Compile() 0012ee18 6be671ab Microsoft.Build.Tasks.Csc.CallHostObjectToExecute() 0012ee48 6c0aed17 Microsoft.Build.Utilities.ToolTask.Execute()
Solución
La razón por la que no ve una excepción es que el compilador de C # no está escrito en código administrado. Es un proyecto C ++ y, por lo tanto, no arrojará una excepción CLR. En su lugar, debe buscar un error nativo.
Otros consejos
¡Lo tengo! Todo lo que tenía que hacer era guardar un archivo de volcado (* .dmp) de WinDBG y volver a abrirlo en Visual Studio.
Para una solución completa mira mi pregunta anterior