web-dev-qa-db-fra.com

Comment ignorer la ligne dans le débogage des idées Intellij?

Supposons que j'ai un code Java comme celui-ci (uniquement à titre d'exemple):

public void someMethod(){
    int a = 3;
    int b = 2; // <-- stay debug here
    a = b + 2;
    System.out.prinln(a);
}

Il est possible de sauter l'exécution de la ligne "int a = b + 2;" et aller immédiatement à "System.out.prinln (a);"

P.S. J'utilise Intellij Idea 12.

24
Cherry

Il n’est pas possible avec le débogueur de ne pas exécuter des parties du code. 

Il est toutefois possible d'exécuter du code supplémentaire et de modifier les valeurs des variables. Par conséquent, si vous devez exclure une ligne de l'exécution pendant le débogage, vous devrez modifier votre code pour préparer ce type de débogage.

public void someMethod() {
    int a = 3;
    int b = 2;
    boolean shouldRun = true;
    if (shouldRun) {
        a = b + 2;
    }
    System.out.prinln(a);
}

Vous définissez ensuite un point d'arrêt qui modifie la valeur de shouldRun sans arrêter l'exécution. Cela peut être fait comme ça.

enter image description here

Notez que

  1. Suspendre n'est pas coché
  2. Journal de l'expression évaluée est utilisé pour modifier une variable lorsque le point d'arrêt est atteint
27
Andreas Wederbrand

Il est possible de sauter des lignes uniquement si vous utilisez un échange instantané ou un outil de rechargement de code - ajoutez des modifications de code/un nouveau code au moment de l'exécution. L'échange à chaud consiste à remplacer des composants sans arrêter le système. Hotswapping peut également faire référence à la possibilité de modifier le code en cours d'un programme sans avoir à interrompre son exécution. 

Il existe différents outils d'échange dynamique, tels que: JRebel ( https://zeroturnaround.com/software/jrebel/ ) ou HotSwapAgent ( http://www.hotswapagent.org/ )

Vous évitez de reconstruire toute l'application pour recharger les modifications de code, cela représente un gain de temps considérable. Au lieu d'exécuter votre processus de construction complet, utilisez simplement le compilateur intégré à votre IDE et l'agent/outil hotSwap rechargera le code dans la JVM.

Dans ce cas, cela ne serait pas ignoré, mais vous pouvez simplement commenter/modifier les lignes et les recharger. Ces outils sont vraiment géniaux !!!! Cela accélère grandement le processus de développement/débogage

5
ntotomanov

Vous ne pouvez pas simplement ignorer "l'exécution de la ligne" lors du débogage. Vous pouvez appuyer sur F8 pour passer.

4
StKiller

Il n’est pas possible de sauter l’exécution des lignes dans IntelliJ et même dans Eclipse . La seule chose que vous puissiez faire est de vous permettre de passer au-dessus de (F8), ce qui permet de tracer ligne par ligne sans. .

Une autre chose est Step out (Maj + F8) - qui ira directement au prochain point de débogage en s’exécutant entre les lignes de cette étape.

0
Chandu