gh (Go with Exception Handled)

La commande gh marque l’exception du thread donné comme ayant été gérée et permet au thread de redémarrer l’exécution à l’instruction à l’origine de l’exception.

syntaxe User-Mode

[~Thread] gh[a] [= StartAddress] [BreakAddress ... [; BreakCommands]] 

syntaxe Kernel-Mode

gh[a] [= StartAddress] [BreakAddress ... [; BreakCommands]] 

Paramètres

Fil
(Mode utilisateur uniquement) Spécifie le thread à exécuter. Ce thread doit avoir été arrêté par une exception. Pour plus d’informations sur la syntaxe, consultez Syntaxe de thread.

Un
Fait en sorte que tout point d’arrêt créé par cette commande soit un point d’arrêt du processeur (comme ceux créés par ba) plutôt qu’un point d’arrêt logiciel (comme ceux créés par bp et bm). Si BreakAddress n’est pas spécifié, aucun point d’arrêt n’est créé et l’indicateur n’a aucun effet.

StartAddress
Spécifie l’adresse à laquelle l’exécution doit commencer. Si ce n’est pas spécifié, le débogueur transmet l’exécution à l’adresse où l’exception s’est produite. Pour plus d’informations sur la syntaxe, consultez Syntaxe d’adresse et de plage d’adresses.

BreakAddress
Spécifie l’adresse d’un point d’arrêt. Si BreakAddress est spécifié, il doit spécifier une adresse d’instruction (autrement dit, l’adresse doit contenir le premier octet d’une instruction). Jusqu’à dix adresses d’arrêt, dans n’importe quel ordre, peuvent être spécifiées à la fois. Si BreakAddress ne peut pas être résolu, il est stocké en tant que point d’arrêt non résolu. Pour plus d’informations sur la syntaxe, consultez Syntaxe d’adresse et de plage d’adresses.

BreakCommands
Spécifie une ou plusieurs commandes à exécuter automatiquement lorsque le point d’arrêt spécifié par BreakAddress est atteint. Le paramètre BreakCommands doit être précédé d’un point-virgule. Si plusieurs valeurs BreakAddress sont spécifiées, BreakCommands s’applique à toutes.

Note Le paramètre BreakCommands n’est disponible que lorsque vous incorporez cette commande dans une chaîne de commande utilisée par une autre commande, par exemple, dans une autre commande de point d’arrêt ou dans un paramètre d’événement except ou. Sur une ligne de commande, le point-virgule met fin à la commande gh et toutes les commandes supplémentaires répertoriées après le point-virgule sont exécutées immédiatement après la commande gh .

Environnement

Élément Description
Modes mode utilisateur, mode noyau
Targets débogage actif uniquement
Plateformes all

Informations supplémentaires

Pour obtenir d’autres méthodes d’émission de cette commande et une vue d’ensemble des commandes associées, consultez Contrôle de la cible.

Remarques

Si vous utilisez le paramètre BreakAddress pour définir un point d’arrêt, ce nouveau point d’arrêt sera déclenché uniquement par le thread actuel. Les autres threads qui exécutent le code à cet emplacement ne seront pas arrêtés.

Si Thread est spécifié, la commande gh est exécutée avec l’annulation du thread spécifié et tous les autres sont gelés. Par exemple, si la commande ~123gh, ~#gh ou ~*gh est spécifiée, les threads spécifiés sont supprimés et tous les autres sont figés.