Lorsque vous utilisez le débogueur Java dans Intellij, que signifie "Drop Frame"?


J'utilisais le débogueur Java dans Intellij 8 et j'ai remarqué un bouton intitulé "drop frame", quelqu'un sait-il à quoi cela sert? Comment / pourquoi cela serait-il utilisé/utile?

Author: skaffman, 2010-03-02

3 answers

La pile d'appels de votre application peut être visualisée dans le débogueur. En utilisant la fonctionnalité "Drop Frame", vous pouvez "revenir" à un cadre de pile précédent, dans un sens remontant dans le temps. Cela peut être utile pour réintégrer une fonction si vous avez manqué un endroit critique que vous aimeriez revoir.

Comme le nom "Stack Frame" le suggère, les modifications qui ont déjà été apportées à l'état global (comme les variables statiques, les modifications des valeurs de champ, etc.) ne seront pas annulées, seules les variables locales sont réinitialisées. Cela peut conduire à un chemin d'exécution différent de celui qui a initialement conduit à votre point d'arrêt. Vous devez en être conscient - je considère souvent qu'il est utile d'explorer différents chemins d'exécution sans avoir à redémarrer l'application ou un processus long particulier qui a conduit à la pile actuelle. Combiné avec le changement de valeurs de la variable également disponible via le débogueur, vous pouvez faire toutes sortes de choses intéressantes.

Veuillez noter, que, bien sûr, tous les effets secondaires qui peut-être eu lieu-par exemple le trafic réseau, les manipulations de fichiers, la sortie de la console, etc. - ne peut pas être réutilisé.

 133
Author: Daniel Schneller, 2014-09-12 14:43:13

Drop Frame dans les pop du débogueur le cadre de pile actuel et puts le contrôle de retour à l'appel de la méthode, réinitialisant toutes les variables locales. Ceci est très utile à plusieurs reprises étape grâce à une fonction, mais soyez averti: mutations de champ ou état global modifications resteront.

Voir plus d'informations ici.

 15
Author: Jorge Ferreira, 2010-03-02 23:56:14

La suppression d'images de la pile à l'aide du débogueur vous permet essentiellement de "rembobiner" l'exécution de votre application pour atteindre un état précédent. Les variables en dehors du cadre de la pile ne sont pas rétablies.

En note de côté, je crois que cette fonctionnalité est appelée "Drop to Frame" dans Eclipse, mais elle sert le même but.

 8
Author: Dolph, 2010-03-02 23:55:46