2011-02-01 18 views
6

¿Hay alguna forma en .NET (VB.NET o C#), cuando ocurre una excepción, de volcar el stacktrace de cada subproceso? Básicamente, me gustaría reproducir lo que sucede en la ventana Depurar-> Subprocesos de Visual Studio para ver qué hacía cada subproceso cuando ocurría la excepciónDump StackTrace para cada subproceso que se ejecuta

+0

Utilice la propiedad StackTrace de la excepción. –

+3

@Hans, creo que él quiere obtener todos los rastreos de pila de hilos en ejecución, smiler a 'Thread.getAllStackTraces()' de java ' –

+0

@scrum meister: exactamente – Denis

Respuesta

7

Si desea obtener rastros de pila de todos los subprocesos dentro del código administrado, puede intentar mdbg . Eche un vistazo a Managed Stack Explorer si usa mdbg y obtiene montones de todos los hilos.

1

Se han realizado preguntas similares anteriormente en StackOverflow (como se ve here y here) y otros foros. Esas discusiones anteriores se centraron en obtener una lista de todos los subprocesos en ejecución, pero si tuvieras esa información, obtener un rastro de pila para cada uno sería trivial.

La conclusión consistente es que no existe una forma de hacerlo en .NET, y que tendría que buscar una herramienta externa basada en API de depuración, como el ejemplo Naveen mencionado anteriormente.

Cuestiones relacionadas