How to step one step back in IntelliJ?

JavaDebuggingIntellij Idea

Java Problem Overview


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.

Java Solutions


Solution 1 - Java

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 - Java

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/

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionCristian GutuView Question on Stackoverflow
Solution 1 - JavaSoftware EngineerView Answer on Stackoverflow
Solution 2 - JavatalesView Answer on Stackoverflow