Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
调试时更改java程序的执行_Java_Eclipse - Fatal编程技术网

调试时更改java程序的执行

调试时更改java程序的执行,java,eclipse,Java,Eclipse,在VisualStudio中,调试时,可以通过堆栈返回来更改程序的执行流。我的意思是,在您传递了一些表达式并且调试器高亮显示了下一行之后,您可以返回并再次执行该表达式 调试Java程序时可能出现这种情况吗?在调试器中评估该部分后更改方法时,会出现提示: 堆栈上过时的方法 原因:虚拟机无法删除所有堆栈帧 从调用堆栈运行旧代码。虚拟机不可用 为调试器提供这些帧的有效数据。步入 这些过时的帧可能对目标虚拟机有害 然后有三个按钮:继续、终止和重新启动 如果按“重新启动”,代码将重新计算并返回到新的断点(

在VisualStudio中,调试时,可以通过堆栈返回来更改程序的执行流。我的意思是,在您传递了一些表达式并且调试器高亮显示了下一行之后,您可以返回并再次执行该表达式


调试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
}