如何使用Android Studio调试器退回一行代码

时间:2017-04-25 19:05:19

标签: android-studio

我是调试器的新手。当我跨过一行代码时,我想知道如何退一步。现在我意识到代码无法向后执行?如果我想退回到旧行,我是否必须在调试中重新启动活动?

另外,如果你不介意,那么force-step-into命令是什么?

4 个答案:

答案 0 :(得分:5)

不要认为这是可能的。 Android就像所有其他调试器一样工作,它们或多或少都是代码的瀑布。你不能真正退后一步,但这就是断点进入的地方。在你想要向后退一步的行之前放置一个断点并重新运行你的应用程序,它会继续前进直到它到达那一行。

解释Force-Step-Into我将首先解释Step-Into / Over。 Step-Over会看到您想要的行,然后跳过它,在进行函数调用后停在同一文件的行中。另一方面,Step Into进入函数调用并在该函数调用的第一行停止,可以在新文件或新位置。在Android中,有很多功能被认为是“黑盒子”,你并不关心它们做什么,因为它们很可能不会影响代码(比​​如Log.d函数)。如果您愿意,Force Step Into允许您进入这些步骤。

来源:https://www.quora.com/How-would-you-explain-in-one-line-about-Step-over-Step-into-Force-Step-into-and-Step-out-of-Android-studio

答案 1 :(得分:4)

请注意,您可以设置条件断点,即断点将仅在x == 57时停止执行(因此您不必手动跳过所有56个断点)。很有用。只需设置断点,单击右键并设置条件。

答案 2 :(得分:2)

可能是框架可以帮助检查调试器窗口中的pip install <package> --no-cache-dir调用堆栈

Frames in debugger window

答案 3 :(得分:0)

我认为这是不可能的,就像@OmegaNalphA提到的那样,但是您可以查看堆栈跟踪并查看代码执行的顺序。

StackTraceElement trace = new Exception().getStackTrace();
Log.d("myapp", trace.toString());