Au cours de nombreuses sessions de débogage, parfois inondantes, utilisant DDD, je tombe sur des boucles. Et je continue à appuyer sur le bouton pour le dépasser, et s'il y a beaucoup d'itérations, je mets juste un point d'arrêt juste après, et j'appuie sur "continuer". Y a-t-il un autre moyen de passer les boucles?Comment ignorer les boucles passées dans ddd (gdb)
Répondre
Vous voulez la « jusqu'à ce que » commande - voir le manuel d'gdb à http://www.gnu.org/software/gdb/documentation:
Continuer en cours d'exécution jusqu'à ce qu'une ligne de source passé la ligne en cours, dans le cadre actuel de pile, est atteinte. Cette commande est utilisée pour éviter de faire un seul pas à travers une boucle plus d'une fois. Il est comme la commande suivante, sauf que lorsque jusqu'à rencontrer un saut, il continue automatiquement l'exécution jusqu'à ce que le compteur de programme soit supérieur à l'adresse du saut.
Cela signifie que lorsque vous atteignez la fin d'une boucle après que simple pas à pas, jusqu'à ce que fait votre programme continue l'exécution jusqu'à ce qu'il quitte la boucle. En contraste, une commande suivante à la fin de une boucle revient simplement au début de la boucle, ce qui force à parcourir la prochaine itération.
J'utilise généralement le "continuer jusqu'à ici" qui définit un point d'arrêt temporaire à cet emplacement et continue immédiatement l'exécution. Il est accessible via le bouton de la souris 3 qui ouvre un menu contextuel.
Merci pour s/passed/past/g ... L'anglais n'est pas ma langue maternelle, bien que je sois incontestablement de mieux en mieux. – vehomzzz