Answers:
可以在调试器中查看应用程序的调用堆栈。使用“下降帧”功能,您可以“回退”到先前的堆栈帧,在某种意义上可以追溯到过去。如果您错过了想再次看到的关键点,这对于重新输入功能很有帮助。
就像名称“堆栈框架”所暗示的那样,已经对全局状态进行的更改(例如静态变量,对字段值的更改等)不会被撤消,仅会重置局部变量。这可能会导致执行路径与最初导致断点的路径不同。您需要意识到这一点-我经常认为它是探索不同执行路径的有用功能,而不必重新启动应用程序或导致当前堆栈的特定冗长过程。结合通过调试器也可获得的变量值的更改,您可以做各种有趣的事情。
请注意,当然,任何可能发生的副作用-例如网络流量,文件操作,控制台输出等-都无法解决。