Compartir a través de


tb (Seguimiento a la rama siguiente)

El comando tb ejecuta el programa hasta que se alcanza una instrucción de rama.

tb [r] [= StartAddress] [Count] 

Parámetros

R
Activa y desactiva la visualización de registros y marcas. De forma predeterminada, se muestran los registros y las marcas. Puede deshabilitar la visualización de registros mediante los comandos tbr, pr, tr o .prompt_allow -reg. Todos estos comandos controlan la misma configuración y puede usar cualquiera de ellos para invalidar cualquier uso anterior de estos comandos.

También puede deshabilitar la visualización del registro mediante el comando l-os. Esta configuración es independiente de los otros cuatro comandos. Para controlar qué registros y marcas se muestran, use el comando rm (Register Mask).

StartAddress
Especifica la dirección en la que el depurador inicia la ejecución. Si no usa StartAddress, la ejecución comienza en la instrucción a la que apunta el puntero de instrucción. Para obtener más información sobre la sintaxis, vea Sintaxis de intervalo de direcciones y direcciones.

Contar
Especifica el número de ramas que se van a permitir. Cada vez que se encuentra una rama, se muestra la dirección de instrucción y la instrucción. Si omite Count, el número predeterminado es 1.

Entorno

Modos

Basado en x86: Modo kernel solo basado en x64: modo usuario, modo kernel

Destinos

Solo depuración en vivo

Plataformas

Basado en x86 (familia de procesadores GenuineIntel 6 y posteriores), basado en x64

Información adicional

Para obtener más información sobre los comandos relacionados, vea Controlar el destino.

Comentarios

El comando tb hace que el destino comience a ejecutarse. Esta ejecución continúa hasta que se alcanza un comando de rama.

La ejecución se detiene en cualquier comando de rama que se va a tomar. Esta detención de la ejecución siempre se basa en el código de desensamblado , incluso cuando el depurador está en modo de origen.

Las instrucciones de rama incluyen llamadas, devoluciones, saltos, bucles contados y bucles while. Si el depurador encuentra una rama incondicional o una rama condicional para la que la condición es verdadera, la ejecución se detiene. Si el depurador encuentra una rama condicional cuya condición es false, la ejecución continúa.

Cuando se detiene la ejecución, se muestra la dirección de la instrucción de rama y los símbolos asociados. Esta información va seguida de una flecha y, a continuación, la dirección y las instrucciones de la nueva ubicación del contador del programa.

El comando tb solo funciona en el procesador actual. Si usa tb en un sistema multiprocesador, la ejecución se detiene cuando se alcanza un comando de rama o cuando se produce el evento de otro procesador, lo que ocurra primero.

Normalmente, el seguimiento de ramas se habilita después de inicializar el bloque de control del procesador (PRCB). (El PRCB se inicializa al principio del proceso de arranque). Sin embargo, si tiene que usar el comando tb antes de este punto, puede usar .force_tb (Permitir seguimiento forzado de rama) para habilitar el seguimiento de ramas anteriormente. Use el comando .force_tb con precaución, ya que puede dañar el estado del procesador.