我想调试一个(Java)程序的整个流程。我看到有几个选项可以逐步完成我的程序。step into和step over的区别是什么?


当前回答

当调试代码行时,下面是常见的场景:

进入

将要调用一个方法,并且希望调试到该方法的代码中,因此下一步是进入该方法并继续逐步调试。

跨过

一个方法即将被调用,但您对调试这个特定的调用不感兴趣,因此希望调试器将该方法作为一个完整的步骤完全执行。

一步返回

您已经完成了这个方法的逐步调试,您只希望调试器运行整个方法,直到它作为一个完整的步骤返回。

重新开始

您希望调试器恢复“正常”执行,而不是一步一步地执行

行断点

您不关心它是如何到达那里的,但是如果执行到达了特定的代码行,您希望调试器暂时暂停那里的执行,以便您可以决定做什么。

Eclipse还有其他高级调试特性,但这些都是基本的基础。

另请参阅

免费视频教程:Eclipse和Java:使用调试器 IBM/DeveloperWorks/ Eclipse平台调试 IBM/DeveloperWorks/学习调试的基本要领

其他回答

您不能通过使用步骤over来查看该方法的详细信息。 如果你想跳过当前一行,你可以使用step over,然后你只需要按一次F6就可以移动到下一行。 如果您认为方法中有错误,请使用F5检查细节。

调用当前选择的要执行的行上的下一个表达式,并且在所调用的方法中的下一个可执行行暂停执行。

执行当前选择的行,并挂起到下一个可执行行。

与调试器通信的方法

(或者,我如何向祖母解释我的公路旅行)

进入:“当要执行的下一个语句到达一个方法调用时,不要执行整个方法,而是执行该方法的第一行并停止”

过渡:“当要执行的下一个语句到达一个方法调用时,整体执行该方法并停止”

退出:“完成被调用方代码的执行,并在执行返回到调用方时停止”

继续:“执行到下一个断点”

下面是一个很好的例子来实际演示上述概念:

当调试代码行时,下面是常见的场景:

进入

将要调用一个方法,并且希望调试到该方法的代码中,因此下一步是进入该方法并继续逐步调试。

跨过

一个方法即将被调用,但您对调试这个特定的调用不感兴趣,因此希望调试器将该方法作为一个完整的步骤完全执行。

一步返回

您已经完成了这个方法的逐步调试,您只希望调试器运行整个方法,直到它作为一个完整的步骤返回。

重新开始

您希望调试器恢复“正常”执行,而不是一步一步地执行

行断点

您不关心它是如何到达那里的,但是如果执行到达了特定的代码行,您希望调试器暂时暂停那里的执行,以便您可以决定做什么。

Eclipse还有其他高级调试特性,但这些都是基本的基础。

另请参阅

免费视频教程:Eclipse和Java:使用调试器 IBM/DeveloperWorks/ Eclipse平台调试 IBM/DeveloperWorks/学习调试的基本要领

Step into将深入研究方法调用 Step over将执行这一行并进入下一行