Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Método StackTrace.GetFrame (Int32)

 

Publicado: octubre de 2016

Obtiene el marco de pila especificado.

Espacio de nombres:   System.Diagnostics
Ensamblado:  mscorlib (en mscorlib.dll)

Public Overridable Function GetFrame (
	index As Integer
) As StackFrame

Parámetros

index
Type: System.Int32

El índice del marco de pila solicitado.

Valor devuelto

Type: System.Diagnostics.StackFrame

El marco de pila especificado.

Marcos de pila se numeran comenzando por 0, que es el último marco de pila insertado.

En el ejemplo de código siguiente se muestra la primera y última función llama en un seguimiento de pila.

Public Sub Level5Method()
   Try
      Dim nestedClass As New ClassLevel6()
      nestedClass.Level6Method()
   Catch e As Exception
      Console.WriteLine(" Level5Method exception handler")

      Dim st As New StackTrace()

      ' Display the most recent function call.
      Dim sf As StackFrame = st.GetFrame(0)
      Console.WriteLine()
      Console.WriteLine("  Exception in method: ")
      Console.WriteLine("      {0}", sf.GetMethod())

      If st.FrameCount > 1 Then
         ' Display the highest-level function call in the trace.
         sf = st.GetFrame((st.FrameCount - 1))
         Console.WriteLine("  Original function call at top of call stack):")
         Console.WriteLine("      {0}", sf.GetMethod())
      End If

      Console.WriteLine()
      Console.WriteLine("   ... throwing exception to next level ...")
      Console.WriteLine("-------------------------------------------------")
      Console.WriteLine()
      Throw e
   End Try
End Sub 'Level5Method

.NET Framework
Disponible desde 1.1
Silverlight
Disponible desde 2.0
Windows Phone Silverlight
Disponible desde 7.0
Volver al principio
Mostrar: