Compartir a través de


.frame (Establecer contexto local)

El comando .frame especifica qué contexto local (ámbito) se usa para interpretar variables locales o muestra el contexto local actual.

.frame [/c] [/r] [FrameNumber] 
.frame [/c] [/r] = BasePtr [FrameIncrement] 
.frame [/c] [/r] = BasePtr StackPtr InstructionPtr 

Parámetros

/c
Establece el marco especificado como contexto de invalidación local actual. Esta acción permite que un usuario acceda a los registros no volátiles de cualquier función de la pila de llamadas.

/r
Muestra registros y otra información sobre el contexto local especificado.

FrameNumber
Especifica el número del marco cuyo contexto local desee. Si este parámetro es cero, el comando especifica el marco actual. Si omite este parámetro, este comando muestra el contexto local actual.

BasePtr
Especifica el puntero base para el seguimiento de pila que se usa para determinar el marco, si agrega un signo igual (=) después del nombre del comando (.frame). En un procesador basado en x86, se agrega otro argumento después de BasePtr (que se interpreta como FrameIncrement) o dos argumentos más después de BasePtr (que se interpretan como InstructionPtr y StackPtr).

FrameIncrement
(solo procesador basado en x86)

Especifica una cantidad adicional de fotogramas más allá del puntero base. Por ejemplo, si el puntero base 0x0012FF00 es la dirección del marco 3, el comando .frame 12ff00 es equivalente a .frame 3 y .frame 12ff00 2 es equivalente a .frame 5.

StackPtr
(solo procesador basado en x86) Especifica el puntero de pila para el seguimiento de pila que se usa para determinar el marco. Si omite StackPtr e InstructionPtr, el depurador usa el puntero de pila que el registro esp especifica y el puntero de instrucción que especifica el registro de eip.

InstructionPtr
(solo procesador basado en x86) Especifica el puntero de instrucción para el seguimiento de pila que se usa para determinar el marco. Si omite StackPtr e InstructionPtr, el depurador usa el puntero de pila que el registro esp especifica y el puntero de instrucción que especifica el registro de eip.

Entorno

Elemento Descripción
Modos Modo de usuario, modo kernel
Destinos En tiempo real, volcado de errores
Platforms All

Información adicional

Para obtener más información sobre el contexto local y otras configuraciones de contexto, vea Cambiar contextos. Para obtener más información sobre cómo mostrar variables locales y otros comandos relacionados con la memoria, vea Lectura y escritura de memoria.

Comentarios

Cuando se ejecuta una aplicación, el significado de las variables locales depende de la ubicación del contador del programa, ya que el ámbito de estas variables se extiende solo a la función en la que se definen. Si no usa el comando .frame , el depurador usa el ámbito de la función actual (el marco actual de la pila) como contexto local.

Para cambiar el contexto local, use el comando .frame y especifique el número de fotograma que desee.

El número de marco es la posición del marco de pila dentro del seguimiento de la pila. Puede ver este seguimiento de pila con el comando k (Display Stack Backtrace) o la ventana Llamadas. La primera línea (el marco actual) es el número de fotograma 0. Las líneas posteriores representan números de marco 1, 2, 3, etc.

Si usa el parámetro n con el comando k , el comando k muestra los números de fotograma junto con el seguimiento de la pila. Estos números de fotograma siempre se muestran en formato hexadecimal. Por otro lado, el comando .frame interpreta su argumento en el radix predeterminado, a menos que invalide esta configuración con un prefijo como 0x. Para cambiar el radix predeterminado, use el comando n (Establecer base de números).

Puede establecer el contexto local en un marco de pila diferente para permitirle ver la nueva información de variables locales. Sin embargo, las variables reales que están disponibles dependen del código que se está ejecutando.

El contexto local se restablece al ámbito del contador de programa si se produce alguna ejecución de la aplicación. El contexto local se restablece al marco de pila superior si se cambia el contexto de registro.