295 votes

Débogage de l’éclipse : pénétrez dans / Step Over

Je tiens à déboguer le flux entier d’un programme java. Quelle est la différence entre F5 (entrer dans) et F6 (enjamber) en vue de l’éclipse en l’espèce.

391voto

paxdiablo Points 341644

Considérons le code suivant avec votre pointeur d'instruction en cours à l' f(y); ligne main():

public class testprog {
    static void f (int x) {
        System.out.println ("f:num+0 is " + (x+0));
        System.out.println ("f:num+1 is " + (x+1));
        System.out.println ("f:num+2 is " + (x+2));
    }

    static void g (int x) {
        System.out.println ("g:num+0 is " + (x+0));
    }

    public static void main(String args[]) {
        int y = 7;
->      f(y);
        g(9);
    }
}

Si vous étiez à l'étape dans à ce point, vous vous déplacez à l' System.out.println ("f:num+0 is " + (x+0)); ligne f(), en entrant dans l'appel de fonction.

Si vous étiez à l'étape plus à ce point, vous vous déplacez à l' g(9); ligne main(), en passant sur l'appel de la fonction.

Une autre caractéristique utile de débogueurs est l'étape de ou une étape de retour. Avec votre pointeur d'instruction en cours sur la première ligne de l' f() ci-dessus (à supposer que vous avez entré dans partir de la position précédente), une étape de retour sera essentiellement de vous lancer à travers la fonction en cours jusqu'à ce que vous remonter d'un niveau. En d'autres termes, il va passer aux g(9); en main().

Eclipse (au moins Europa, qui est le seul que j'ai très pratique ici) utilise la touche F5 pour step into, F6 pour step over et F7 pour step return.

222voto

polygenelubricants Points 136838

Lors du débogage de lignes de code, voici les scénarios:

  • (Pas Dans) Une méthode est sur le point d'être invoqué, et vous souhaitez déboguer dans le code de cette méthode, donc, la prochaine étape est d'aller dans cette méthode et continuer le débogage de l'étape-par-étape.
  • (Pas Sur) Une méthode est sur le point d'être invoquée, mais vous n'êtes pas intéressé par le débogage de cette invocation, si vous voulez le débogueur pour l'exécution de cette méthode comme une étape.
  • (L'étape de Retour) Vous avez terminé le débogage de cette méthode, étape par étape, et vous voulez juste le débogueur pour exécuter l'intégralité de la méthode jusqu'à ce qu'il retourne comme une étape.
  • (Reprendre) Vous voulez le débogueur de reprendre "normal" exécution à la place de l'étape-par-étape
  • (Ligne point d'arrêt), Vous ne se soucient pas comment il est arrivé là, mais si l'exécution atteint une ligne de code, vous voulez le débogueur pour interrompre temporairement l'exécution de sorte que vous pouvez décider quoi faire.

Eclipse a d'autres fonctionnalités de débogage avancées, mais ce sont les principes de base.

Voir aussi

30voto

étape en va creuser en appels de méthode
étape plus juste exécutera la ligne et passer à la suivante

5voto

wanana Points 66

Vous ne peut pas aller dans les détails de la méthode à l’aide de l’étape au-dessus. Si vous souhaitez ignorer la ligne en cours, vous pouvez utiliser étape terminée, vous devez seulement appuyer sur la touche F6 pour qu’une seule fois pour passer à la ligne suivante. Et si vous pensez que quelque chose cloche dans la méthode, utilisez F5 pour examiner les détails.

4voto

shiva Points 10

Étape dans L’expression suivante sur la ligne sélectionnée pour être exécuté est appelée, et l’exécution suspend à la prochaine ligne exécutable dans la méthode qui est appelée.

Pas à pas principal La ligne sélectionnée est exécutée et suspend sur la prochaine ligne exécutable.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X