Réponse courte: Non.
Pour la solution de contournement lire ci-dessous.
Si à la ligne b, il n'est pas possible de déterminer la valeur à la ligne a, il est possible de se connecter à la valeur de l'arr en a et b et d'autres endroits par un seul point d'arrêt d'être touché.
- Utiliser la fonction "affichage" de la commande (*afficher variable_name* où variable_name est pour être remplacé par arr, *arr, **arr selon ce que vous cherchez), de sorte que, lorsqu'un point d'arrêt est atteint, le contenu de la variable_name seront déversés sur l'écran. Notez que vous pouvez ajouter à la liste d'affichage lorsque le variabe_name est dans la portée, de sorte que peut exiger que vous attendez votre premier point d'arrêt.
- Créer des points d'arrêt à divers endroits de code où vous êtes intéressé à vous connecter à la valeur de variable_name. L'un de ces points d'arrêt serait à la ligne une.
- Pour chaque point d'arrêt, utiliser la commande (*commande breakpoint_number*) et demandez à votre point d'arrêt pour ne pas interrompre l'exécution du programme. La commande que vous devez utiliser est de continuer suivie par la fin. Voir l'exemple ci-dessous.
(gdb) de commande 1
Type de commandes lorsque le point d'arrêt 1 est frappé, un par ligne. Terminer avec une ligne disant "fin".
continuer
fin
- Placer un point d'arrêt sur la ligne b du.
Maintenant, quand tous les autres la journalisation des points d'arrêt sont touchés, la valeur d'arr seront déversés sur l'écran, mais le point d'arrêt ne sera pas attendre pour l'interaction de l'utilisateur et s'auto-continuer. Lorsque vous atteignez un point d'arrêt à la ligne b, vous pouvez voir les dernières valeurs d'arr qui doit être enregistrée dans gdb lui-même.
Selon la situation, vous pouvez aussi dump (et afficher) un grand nombre d'informations utiles. Pour exemple vous pouvez aussi faire un dump d'un compteur de boucle (dis-je) si la fonction ci-dessus est appelé 10000 fois dans une boucle. Cela dépend vraiment de ce que vous essayez d'atteindre.