Lire en anglais

Partager via


gn, gN (Go with Exception Not Handled)

Les commandes gn et gN continuent l’exécution du thread donné sans marquer l’exception comme ayant été gérées. Cela permet au gestionnaire d’exceptions de l’application de gérer l’exception.

Syntaxe du mode utilisateur

[~Thread] gn[a] [= StartAddress] [BreakAddress ... [; BreakCommands]] 
[~Thread] gN[a] [= StartAddress] [BreakAddress ... [; BreakCommands]] 

Syntaxe du mode noyau

gn[a] [= StartAddress] [BreakAddress ... [; BreakCommands]] 
gN[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 du thread.

un
Fait en sorte que tout point d’arrêt créé par cette commande soit un point d’arrêt de 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 où l’exécution doit commencer. S’il n’est pas spécifié, le débogueur transmet l’exécution à l’adresse où l’exception s’est produite. Pour plus de détails sur la syntaxe, veuillez consulter la rubrique Syntaxe de l’adresse et de la 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 de détails sur la syntaxe, veuillez consulter la rubrique Syntaxe de l’adresse et de la 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 ces valeurs.

Notez que le paramètre BreakCommands est disponible uniquement 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’exception ou d’événement. Sur une ligne de commande, le point-virgule met fin à la commande et toutes les commandes supplémentaires répertoriées après l’exécution du point-virgule sont exécutées immédiatement après l’exécution de la commande gn ou gN .

Environnement

Élément Description
Modes mode utilisateur, mode noyau
Targets uniquement en débogage
Platforms 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.

Notes

Si le débogueur n’est pas arrêté à un point d’arrêt, gn et gN se comportent de la même façon. Si le débogueur est arrêté à un point d’arrêt, gn ne fonctionnera pas ; vous devez mettre en majuscule le « N » pour exécuter cette commande. Il s’agit d’une précaution de sécurité, car il est rarement sage de continuer un point d’arrêt non géré.

Si vous utilisez le paramètre BreakAddress pour définir un point d’arrêt, ce nouveau point d’arrêt est 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 gn est exécutée avec le thread non configuré et tous les autres gelés. Par exemple, si la commande ~123gn, ~#gn ou ~*gn est spécifiée, les threads spécifiés sont non configurés et tous les autres sont figés.