当前位置:  开发笔记 > 编程语言 > 正文

在Intellij中使用Java调试器时"Drop Frame"是什么意思?

如何解决《在Intellij中使用Java调试器时"DropFrame"是什么意思?》经验,为你挑选了3个好方法。

我在Intellij 8中使用了Java调试器并注意到一个标有"drop frame"的按钮,有人知道这个用途的目的是什么吗?如何/为什么这将被使用/有用?



1> Daniel Schne..:

可以在调试器中查看应用程序的调用堆栈.使用"丢帧"功能,您可以"回退"到先前的堆栈帧,从某种意义上讲,它可以追溯到时间.如果您错过了想要再次看到的关键位置,这可能有助于重新输入功能.

正如名称"Stack Frame"所暗示的那样,已经对全局状态进行的更改(如静态变量,字段值的更改等)将不会被撤消,只会重置局部变量.这可能导致与最初导致断点的路径不同的执行路径.您需要意识到这一点 - 我经常认为它是一个有用的功能,可以探索不同的执行路径,而无需重新启动应用程序或导致当前堆栈的特定冗长进程.结合调试器可用的变量值的变化,您可以做各种有趣的事情.

请注意,当然,可能发生的任何副作用 - 例如网络流量,文件操作,控制台输出等 - 都无法重绕.



2> Jorge Ferrei..:

调试器中的Drop Frame弹出当前堆栈帧并将控制权返回给调用方法,重置任何局部变量.这对于重复执行函数非常有用,但要注意:字段突变或全局状态更改将保留.

在这里查看更多信息.



3> Dolph..:

使用调试器从堆栈中删除帧本质上可以让您"回退"应用程序的执行以达到先前的状态.堆栈框架外的变量不会被还原.

作为旁注,我相信这个功能在Eclipse中称为"Drop to Frame",但它的用途相同.

推荐阅读
乐韵答题
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有