Dans gdb, j'ai la commande finish
pour terminer facilement l'exécution d'un cadre de fonction, souvent en parcourant le code dans le débogueur, après avoir regardé quelques itérations d'une boucle, je voudrais terminer la boucle et continuez à marcher après. Actuellement, je fais cela en définissant un point d'arrêt sur la première ligne après la boucle et continue
, cependant, ce serait vraiment pratique s'il y avait une simple commande gdb pour avoir le même effet mais sans nécessiter de point de rupture à définir et plus tard effacé.
Existe-t-il de toute façon dans gdb pour terminer l'exécution de la boucle en cours d'exécution?
Existe-t-il une commande gdb pour terminer une construction de boucle?
Exécutez until
sur la dernière ligne de la boucle, ou until NNN
où NNN
est la dernière ligne de la boucle.
(gdb) help until
Execute until the program reaches a source line greater than the current
or a specified location (same args as break command) within the current frame.
pas besoin de définir un point d'arrêt et de le supprimer ultérieurement.
Les points d'arrêt temporaires se nettoient automatiquement:
(gdb) help tbreak
Set a temporary breakpoint.
Like "break" except the breakpoint is only temporary,
so it will be deleted when hit. Equivalent to "break" followed
by using "enable delete" on the breakpoint number.
gdb
ne sait pas où se termine une boucle et ne peut donc pas faire cela. Je pense que le mieux que vous puissiez faire est d'utiliser la commande advance
avec un emplacement après la boucle.