To (Trace to Next Branch)
La commande Tb exécute le programme jusqu’à ce qu’une instruction de branche soit atteinte.
tb [r] [= StartAddress] [Count]
Paramètres
r
Active et désactive l’affichage des registres et des indicateurs. Par défaut, les registres et les indicateurs sont affichés. Vous pouvez désactiver l’affichage de l’inscription à l’aide des commandes tbr, pr, tr ou .prompt_allow -reg. Toutes ces commandes contrôlent le même paramètre et vous pouvez utiliser l’un d’eux pour remplacer toute utilisation précédente de ces commandes.
Vous pouvez également désactiver l’affichage des registres en utilisant la commande l-os. Ce paramètre est distinct des quatre autres commandes. Pour contrôler les registres et les indicateurs à afficher, utilisez la commande rm (Masque de registre).
StartAddress
Spécifie l’adresse à laquelle le débogueur démarre l’exécution. Si vous n’utilisez pas StartAddress, l’exécution commence à l’instruction pointée par le pointeur d’instruction. Pour plus d’informations sur la syntaxe, consultez la syntaxe d’adresse et de plage d’adresses.
Compter
Spécifie le nombre de branches à autoriser. Chaque fois qu’une branche est rencontrée, l’adresse d’instruction et l’instruction sont affichées. Si vous omettez Count, le nombre par défaut est 1.
Environnement
Les modes |
x86 : mode noyau uniquement basé sur x64 : mode utilisateur, mode noyau |
Targets |
Débogage en direct uniquement |
Platforms |
x86 (famille de processeurs GenuineIntel 6 et versions ultérieures), x64 |
Informations supplémentaires
Pour plus d’informations sur les commandes associées, consultez Contrôle de la cible.
Notes
La commande Tb entraîne l’exécution de la cible. Cette exécution se poursuit jusqu’à ce qu’une commande de branche soit atteinte.
L’exécution s’arrête à n’importe quelle commande de branche à prendre. Cet arrêt de l’exécution est toujours basé sur le code désassembleur , même lorsque le débogueur est en mode source.
Les instructions de branche incluent les appels, les retours, les sauts, les boucles comptées et les boucles while. Si le débogueur rencontre une branche inconditionnelle ou une branche conditionnelle pour laquelle la condition est vraie, l’exécution s’arrête. Si le débogueur rencontre une branche conditionnelle dont la condition est false, l’exécution se poursuit.
Lorsque l’exécution s’arrête, l’adresse de l’instruction de branche et tous les symboles associés sont affichés. Ces informations sont suivies d’une flèche, puis de l’adresse et des instructions du nouvel emplacement du compteur de programme.
La commande Tb fonctionne uniquement sur le processeur actuel. Si vous utilisez tb sur un système multiprocesseur, l’exécution s’arrête lorsqu’une commande de branche est atteinte ou lorsque l’événement d’un autre processeur se produit, selon ce qui se produit en premier.
En règle générale, le suivi de branche est activé après l’initialisation du bloc de contrôle du processeur (PRCB). (Le PRCB est initialisé au début du processus de démarrage.) Toutefois, si vous devez utiliser la commande Tb avant ce point, vous pouvez utiliser .force_tb (Autoriser de force le suivi de branche) pour activer le suivi de branche précédemment. Utilisez la commande .force_tb avec prudence, car elle peut endommager votre état du processeur.