Exportar (0) Imprimir
Expandir todo

StackTrace.GetFrames (Método)

Devuelve una copia de todos los marcos de pila del seguimiento de pila actual.

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

[ComVisibleAttribute(false)] 
public virtual StackFrame[] GetFrames ()
/** @attribute ComVisibleAttribute(false) */ 
public StackFrame[] GetFrames ()
ComVisibleAttribute(false) 
public function GetFrames () : StackFrame[]
No aplicable.

Valor devuelto

Matriz de tipo StackFrame que representa las llamadas a función en el marco de pila.

Utilice la matriz StackFrame devuelta para enumerar y examinar llamadas a función de StackTrace. La longitud de la matriz devuelta es igual al valor de la propiedad FrameCount. El tamaño máximo de la matriz StackFrame es 512.

Los elementos de la matriz StackFrame van por orden cronológico inverso. El objeto StackFrame situado en el índice 0 de la matriz representa la llamada a función más reciente del seguimiento de pila y el último marco insertado en la pila de llamadas. El objeto StackFrame situado en el índice FrameCount menos 1 de la matriz representa la llamada a función más antigua del seguimiento de pila y el primer marco insertado en la pila de llamadas.

Utilice el método GetFrames para obtener todos los marcos de pila del seguimiento de pila; use el método GetFrame para obtener un marco de pila específico de un seguimiento de pila. Ambos métodos ordenan igual los índices de StackFrame. Por ejemplo, el objeto StackFrame situado en el índice 0 de la matriz devuelta por el método GetFrames es equivalente al objeto StackFrame que devuelve el método GetFrame con un índice de entrada igual a 0.

En el código de ejemplo siguiente se muestra cómo enumerar los marcos de un objeto StackTrace.

StackTrace st = new StackTrace(1, true);
StackFrame [] stFrames = st.GetFrames();

foreach(StackFrame sf in stFrames )
{
   Console.WriteLine("Method: {0}", sf.GetMethod() );
}

StackTrace st = new StackTrace(1, true);
StackFrame stFrames[] = st.GetFrames();
for (int iCtr = 0; iCtr < stFrames.get_Length(); iCtr++) {
    StackFrame sf = (StackFrame)stFrames.get_Item(iCtr);
    Console.WriteLine("Method: {0}", sf.GetMethod());
}

Windows 98, Windows 2000 Service Pack 4, Windows Millennium, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter

Microsoft .NET Framework 3.0 es compatible con Windows Vista, Microsoft Windows XP SP2 y Windows Server 2003 SP1.

.NET Framework

Compatible con: 3.0, 2.0

Adiciones de comunidad

AGREGAR
Mostrar:
© 2015 Microsoft