Esta documentación está archivada y no tiene mantenimiento.

StackTrace.GetFrames (Método)

Actualización: noviembre 2007

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()
public function GetFrames() : StackFrame[]

Valor devuelto

Tipo: System.Diagnostics.StackFrame[]
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.

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 Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

.NET Framework

Compatible con: 3.5, 3.0, 2.0
Mostrar: