gc (Passer du point d’arrêt conditionnel)
La commande gc reprend l’exécution à partir d’un point d’arrêt conditionnel de la même manière que celle utilisée pour atteindre le point d’arrêt (pas à pas, suivi ou exécution libre). Cela s’applique uniquement au style plus ancien de points d’arrêt conditionnels à l’aide d’un « j (Condition) ... » expression de style, plutôt que le point d’arrêt conditionnel de style « / w » plus simple. Pour plus d’informations, consultez Définition d’un point d’arrêt conditionnel.
gc
Bien que cette commande ne soit plus aussi utile pour les points d’arrêt conditionnels, elle peut toujours être utilisée pour les points d’arrêt qui effectuent la journalisation ou une autre activité sans s’introduire dans le débogueur. Par instance, un point d’arrêt peut être écrit comme suit :
bp module!myFunction ".echo myFunction executed; gc"
Si une commande « g » normale était utilisée à la place, le programme continuerait l’exécution lors de l’exécution de « myFunction », au lieu d’imprimer simplement le message et de poursuivre l’opération d’étape.
Environnement
Élément | Description |
---|---|
Modes | mode utilisateur, mode noyau |
Targets | débogage actif uniquement |
Plateformes | all |
Informations supplémentaires
Pour obtenir une vue d’ensemble des commandes associées, consultez Contrôle de la cible.
Remarques
Quand un point d’arrêt conditionnel à l’aide d’un « j (Condition) ... » expression inclut une commande d’exécution à la fin. Il doit s’agir de la commande gc .
Par exemple, voici un exemple de point d’arrêt conditionnel :
0:000> bp Address "j (Condition) 'OptionalCommands'; 'gc' "
Lorsque ce point d’arrêt est rencontré et que l’expression est false, l’exécution reprend à l’aide du même type d’exécution que celui utilisé précédemment. Par exemple, si vous avez utilisé une commande g (Go) pour atteindre ce point d’arrêt, l’exécution reprendrait librement. Mais si vous avez atteint ce point d’arrêt lors de l’exécution pas à pas ou au suivi, l’exécution reprend avec une étape ou une trace.
D’autre part, ce qui suit est une formulation de point d’arrêt incorrecte, car l’exécution reprendra toujours librement même si vous aviez effectué un pas à pas avant d’atteindre le point d’arrêt :
0:000> bp Address "j (Condition) 'OptionalCommands'; 'g' "