How to step one step back in IntelliJ?

47,165

Solution 1

You can drop the frames until you reach the point where you want to be. This isn't exactly stepping backwards, but it is quite similar in a lot of respects.

Though as the comments mention below, this will not revert the global state of your application -- which isn't a huge concern if you're developing stateless services, but could be if you're developing swing applications (if anyone actually does that any more).

On the debugger toolbar it looks like this: Drop Frame. In Idea 2016.3 the drop-frame icon changed to look like this drop frame in idea 2016.3, and since 2019.3 it changed to look like this enter image description here.

Full documentation is available here: IntelliJ Debugger Docs, and there is a StackOverflow Drop Frame Question, with a few useful answers

Solution 2

Check out Chronon Debugger plugin which actually allows you to step back, not just drop the frame http://blog.jetbrains.com/idea/2014/03/try-chronon-debugger-with-intellij-idea-13-1-eap/

Share:
47,165
Cristian Gutu
Author by

Cristian Gutu

Updated on July 05, 2022

Comments

  • Cristian Gutu
    Cristian Gutu 7 months

    Is it possible to step backwards through executed code in a debug session?

    For example I step over a method called abc() expecting to get 12 but after re-checking the value returned I notice it's 5 instead of 12. How can I step back to where I was before and step into the method to see what is going on? I know you can do this in visual studio but I can't find how to do this in intelliJ.

  • Rana Ghosh
    Rana Ghosh almost 9 years
    You just made me more productive. Thanks
  • Software Engineer
    Software Engineer about 8 years
    I've tried this now, and I think it's really quite poor. The idea seems good at first, but it seems not to really work./
  • Rodrigo Farias Rezino
    Rodrigo Farias Rezino over 7 years
    Didn't find it. Isn't it available anymore ?
  • Software Engineer
    Software Engineer over 7 years
    The icon has changed, but it's still there. It's a box with a red x in the top left.
  • Bitcoin Cash - ADA enthusiast
    Bitcoin Cash - ADA enthusiast over 7 years
    "it is functionally equivalent" - This is wrong. Dropping frames won't, for instance, revert static or field variables. It will only revert local variables. One must be aware of this before using this feature.
  • Software Engineer
    Software Engineer over 7 years
    Thanks @Tiago -- I've edited the answer to be less strongly worded.