Bonjour
Je suis en mode debug et je debug le programme suivant:
J'entre dans la boucle je debug et au bout de la 3 eme itération je veux sortir de la boucle for. Comment faire?Code:
1
2 for (int i=0; i< 1000; i++) mafonction(i);
D'avance merci.
Version imprimable
Bonjour
Je suis en mode debug et je debug le programme suivant:
J'entre dans la boucle je debug et au bout de la 3 eme itération je veux sortir de la boucle for. Comment faire?Code:
1
2 for (int i=0; i< 1000; i++) mafonction(i);
D'avance merci.
Bonjour,
Tu veux stopper la boucle à une itération précise et passer à la suite ou tu veux simplement passer à la suite en laissant la boucle se finir normalement ?
Si tu veux juste passer à la suite, il suffit de mettre un autre point d'arrêt.
Si tu veux vraiment interrompre la boucle, il faut changer la valeur de 'i' pendant l'exécution pour que la condition de la boucle soit invalidée.
Merci Laurent.
pas forcémment plus simple, mais tu as la commande run to line dans le menu run dans la perspective debug (ou alors tu places le cursuer sur la ligne apres la boucle et tu fais Ctrl + R.
Re-bonjour,
Je re-souleve le probleme car j'ai des problemes sur la 1 ere solution de Laurent.B et la solution de SQUAL.
Je vous mets également 1 copie d'ecran.
En fait si je mets 1 autre point d’arrêt à l'instruction: System.out.println("FIN") alors quand je suis à 1 itération donnée et que je clique sur le bouton vert (resume), il me mets juste à l'itération d'apres et pas à l'instruction hors du boucle.Citation:
Si tu veux juste passer à la suite, il suffit de mettre un autre point d'arrêt
Même chose je passe à l'itération suivante et pas à l'instruction qui se trouve apres ma boucle.Citation:
tu places le curseur sur la ligne apres la boucle et tu fais Ctrl + R
PS: le programme se trouve dans la capture d'ecran.
Encore merci pour votre aide.
Salut,
A l'itération qui t'intéresse, il te suffit de changer la valeur de "i" dans la vue "Variables" (que l'on voit en haut à droite de ta capture d'écran). Tu mets comme valeur de "i" 100 (dans ce cas précis) en cliquant sur la valeur courante de "i" et en éditant la valeur. Puis, tu cliques sur "Resume".
Voici la sortie sur la console que j'ai eu en stoppant à la première itération (avec le même code ainsi que les mêmes points d'arrêt):
Voilà, à+Citation:
DEBUT
100
FIN
Gueritarish
Il suffit de désactiver ton point d'arrêt une fois que tu as ton nombre d'itération atteint !
Je suis 1 peu decu :( . Je pensais qu'il existait une solution sans devoir modifier la valeur de i. Alors si je comprends bien dans tous les cas il faut modifier la variable "i" en la passant à la valeur de la derniere itération (ici à la valeur 100).Citation:
A l'itération qui t'intéresse, il te suffit de changer la valeur de "i" dans la vue "Variables" (que l'on voit en haut à droite de ta capture d'écran). Tu mets comme valeur de "i" 100 (dans ce cas précis) en cliquant sur la valeur courante de "i" et en éditant la valeur. Puis, tu cliques sur "Resume".
Voici la sortie sur la console que j'ai eu en stoppant à la première itération (avec le même code ainsi que les mêmes points d'arrêt):
Merci tout de même pour vos réponses.
En réalité je n'ai pas de soucis particulier. C'est que pour moi on peut rapidement en 1 passe sortir d'un bloc .Citation:
Mais bon, quel est ton souci avec le fait de modifier la valeur de i ?
En étant obligé d'aller sur la vue variable , de double cliquer sur la variable et de le changer pour mettre la valeur maximal (qu'il faut aussi connaitre), je trouve que c'est 1 peu long.
Bref, en gros ce n'est pas du tout grave, c'est simplement que je m'attendais à 1 truc comme dans l'IDE de Microsoft (VB).
Je suis souvent dans ce cas et c'est vrai que c'est assez énervant à force.
Je viens d'essayer avec ton code source de la capture, voici comment je procède : je met un point d’arrêt sur la ligne à l’intérieur de la boucle, j’exécute, le debugger s’arrête à cette ligne, ensuite, dans la vue breakpoints, je désactive le point d’arrêt en le décochant, je place mon curseur sur la ligne System.out.println("FIN"); ensuite je fais Ctrl + R et ça marche.
(Je suis sous eclipse Indigo 3.7)
SUPER SQUAL!!!Citation:
Je viens d'essayer avec ton code source de la capture, voici comment je procède : je met un point d’arrêt sur la ligne à l’intérieur de la boucle, j’exécute, le debugger s’arrête à cette ligne, ensuite, dans la vue breakpoints, je désactive le point d’arrêt en le décochant, je place mon curseur sur la ligne System.out.println("FIN"); ensuite je fais Ctrl + R et ça marche.
Perso je trouve ta solution cool sachant qu'il y'a juste 1 clic à rajouter sur la vue breakpoints.
Merci.
C'est la solution que tu attendais 8O
Tu peux y arriver sans aller dans la vue Breakpoint. Tu fais clic droit sur ton point d'arrêt et "Disable Breakpoint".
Ça marche aussi bien...
encore mieux...Citation:
Tu peux y arriver sans aller dans la vue Breakpoint. Tu fais clic droit sur ton point d'arrêt et "Disable Breakpoint".
Ça marche aussi bien...
En fait j'y ai pensé quand j'ai juste testé la méthode de SQUAL.
Merci à tous.
derniere chose avant de clore
Ca serait vraiment mieux d'avoir un raccourci clavier qui pourrait faire le "Disable Breakpoint" . Dans ce cas tout le débuggage serait fait sans souris.
PS: Franchement je m'ennui souvent lors des debuggage long en faisant des gestes répétitifs en boucle (ca me fatigue la main). C'est pourquoi je cherchais le minimum de commande possible et si possible via le clavier...
Encore merci.
Tu as le raccourci Ctrl+Shift+B qui te permet de supprimer un point d'arrêt. Je ne crois pas qu'il y ait de raccourci clavier pour griser un point d'arrêt.
Merci Gueritarish .
Toutes ces infos seront utiles.
encore merci.