调试时更改java程序的执行
在VisualStudio中,调试时,可以通过堆栈返回来更改程序的执行流。我的意思是,在您传递了一些表达式并且调试器高亮显示了下一行之后,您可以返回并再次执行该表达式调试时更改java程序的执行,java,eclipse,Java,Eclipse,在VisualStudio中,调试时,可以通过堆栈返回来更改程序的执行流。我的意思是,在您传递了一些表达式并且调试器高亮显示了下一行之后,您可以返回并再次执行该表达式 调试Java程序时可能出现这种情况吗?在调试器中评估该部分后更改方法时,会出现提示: 堆栈上过时的方法 原因:虚拟机无法删除所有堆栈帧 从调用堆栈运行旧代码。虚拟机不可用 为调试器提供这些帧的有效数据。步入 这些过时的帧可能对目标虚拟机有害 然后有三个按钮:继续、终止和重新启动 如果按“重新启动”,代码将重新计算并返回到新的断点(
调试Java程序时可能出现这种情况吗?在调试器中评估该部分后更改方法时,会出现提示: 堆栈上过时的方法 原因:虚拟机无法删除所有堆栈帧 从调用堆栈运行旧代码。虚拟机不可用 为调试器提供这些帧的有效数据。步入 这些过时的帧可能对目标虚拟机有害 然后有三个按钮:继续、终止和重新启动 如果按“重新启动”,代码将重新计算并返回到新的断点(如果设置了断点),或者返回到以前的位置。我不相信eclipse调试器会后退一步。是的,您可以使用
它位于主工具栏上,在其他调试命令的左侧。我知道只有一种方法可以使您达到这种效果。它需要修改源代码,例如:
public static void main(String[] args) {
int a = 1;
int b = 1;
int c = 1; //<-- break point here
int d = 1;
}
现在,当按下“下一步”时,您可以选择让调试器重新启动
除此之外,我认为您无法在Eclipse中完成此项工作。您可以使用断点和NetBeans的调试模式完成此项工作,但我对Eclipse不太确定。不,我的意思是您可以后退一步并返回刚才经过的位置。
public static void main(String[] args) {
int a = 1;
int b = 1;
int c = 1; //<-- break point here
int d = 1;
int e = 1; //<-- any modification will do
}