La pile d'appels de votre application peut être visualisée dans le débogueur. Grâce à la fonctionnalité "Drop Frame", vous pouvez "revenir" à un cadre de pile précédent, ce qui revient en quelque sorte à remonter dans le temps. Cela peut être utile pour réintégrer une fonction si vous avez manqué un point critique que vous souhaitez revoir.
Comme le suggère le nom "Stack Frame", les modifications déjà apportées à l'état global (comme les variables statiques, les modifications des valeurs des champs et autres) 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 conduit à votre point d'arrêt initial. Vous devez en être conscient - je considère souvent qu'il s'agit d'une fonctionnalité utile pour explorer différents chemins d'exécution sans avoir à redémarrer l'application ou un processus particulier et long qui a conduit à la pile actuelle. Combiné avec la modification des valeurs des variables également disponible via le débogueur, vous pouvez faire toutes sortes de choses intéressantes.
Veuillez noter que, bien entendu, tous les effets secondaires qui ont pu se produire - par exemple, le trafic réseau, les manipulations de fichiers, les sorties de console, etc. - ne peuvent pas être remontés.