如何在IntelliJ中退一步?

时间:2014-04-04 15:53:48

标签: java debugging intellij-idea

是否可以在调试会话中逐步执行已执行的代码?

例如,我跳过一个名为abc()的方法,希望获得12,但在重新检查返回的值后,我会注意到5而不是12 }。我怎样才能回到原来的位置并进入方法以查看发生了什么?我知道你可以在visual studio中做到这一点,但我无法在intelliJ中找到如何做到这一点。

2 个答案:

答案 0 :(得分:62)

您可以放下框架,直到达到想要的位置。这并没有完全退步,但它在很多方面都非常相似。

虽然正如Tiago在下面提到的那样,但这并不能恢复你的申请的全球状态 - 如果你正在开发无国籍服务,这不是一个巨大的问题,但如果你正在开发摇摆应用程序,那可能就是如此。 (如果有人真的这样做了)。

在调试器工具栏上,它看起来像这样:Drop Frame。在Idea 2016.3及之后,丢帧图标看起来像drop frame in idea 2016.3

此处提供了完整的文档:IntelliJ Debugger Docs,还有一个StackOverflow Drop Frame Question,其中包含一些有用的答案

答案 1 :(得分:2)

查看Chronon Debugger插件,它实际上允许您退后一步,而不仅仅是丢帧 http://blog.jetbrains.com/idea/2014/03/try-chronon-debugger-with-intellij-idea-13-1-eap/