2010-07-15 7 views
9

En VB .NET, sé que puedo obtener un seguimiento de pila mirando el valor de ex.StackTrace al manejar una excepción. ¿Cómo puedo obtener las funciones en la pila cuando no estoy manejando una excepción? Estoy buscando implementar un sistema de registro de algún tipo para registrar los pasos que el usuario toma antes de un bloqueo para ayudar en la depuración.¿Cómo obtener un seguimiento de pila en .NET en ejecución normal?

Respuesta

17

Environment.StackTrace le da una cadena, pero para información y opciones más detallada, utilice la clase StackTrace.

Para ser más específicos, echa un vistazo a las opciones constructor:

http://msdn.microsoft.com/en-us/library/system.diagnostics.stacktrace.stacktrace.aspx

Si se necesita el seguimiento de la pila a partir de bastidor de la persona que llama (por ejemplo, en una función de registro: no lo hace quiere que todo comience con MyLogMethod), debe probar este, que toma un parámetro int, la cantidad de fotogramas para omitir.

http://msdn.microsoft.com/en-us/library/wybch8k4.aspx

Si se necesita el seguimiento de la pila sin información de la fuente (por ejemplo, si usted no quiere dar información sobre su código fuente), prueba este:

http://msdn.microsoft.com/en-us/library/6zh7csxz.aspx

Espero que ayude!

Cuestiones relacionadas