我可以在 Android Studio 中调试时退回到之前的断点吗? (掉帧)

Posted

技术标签:

【中文标题】我可以在 Android Studio 中调试时退回到之前的断点吗? (掉帧)【英文标题】:Can I step back to previous breakpoint while debugging in Android Studio? (Drop the frames) 【发布时间】:2018-03-06 08:31:28 【问题描述】:

我希望能够执行我刚刚跨过的上一个断点

我知道 android Studio 是基于 Intellij Idea 的,这可能是link here。 类似的问题问同样的问题,但它与 Eclipse IDE link here

还有一个答案是不可能的。 link here

我可以看到“掉帧”按钮。但默认情况下它是禁用的。

那么有什么办法可以启用这个按钮吗?

【问题讨论】:

我想你一直在使用 Visual Studio。 ;) 【参考方案1】:

您提到的关于 Eclipse 的答案对于 Android Studio 仍然有效:

不能退回到 Android Studio 中的上一个断点,因为 DalvikVMAndroid Runtime (ART) 可以不支持。

如果您在标准虚拟机上运行 JUnit 测试时调试它们,则可以启用“丢帧”按钮(尽管我猜这不是您想要的)。

这可能是按钮存在的唯一原因。

Google's User Guide 完全忽略它。

【讨论】:

【参考方案2】:

我是 Android Studio 的新手,所以我不完全确定这是否是您正在寻找的,但您是否尝试过使用 Frames 窗口?

它允许您回溯应用程序的进程,甚至到达旧断点。

【讨论】:

我知道我可以通过方法调用,但是我在哪里可以回到上一个断点? 不幸的是,就我使用该工具的经验而言,也许其他人知道更多。【参考方案3】:

您不能后退到您已经选择继续过去的上一个断点。您必须在每个断点创建程序的保存状态才能执行此操作,这将消耗比设计调试器更多的内存。您可以通过在要放置断点的任何地方分叉您的程序来模拟这种功能。

-edit:这在 eclipse 中比在 android studio 中更可行,因为您必须为 android 启动另一个虚拟设备。告别你的记忆:p

【讨论】:

【参考方案4】:

Android 10 (Q) 已支持此功能。它在我的 Pixel 2 上运行良好。

【讨论】:

【参考方案5】:

请看下图

使用红色向下箭头进入,使用蓝色向上箭头退出。

【讨论】:

好的,谢谢 :) 请看这个答案,它对我来说工作正常。 ***.com/a/46524922/6720935 和题目无关!【参考方案6】:

使用 ALT + F9 作为下一个断点。

对我(macOS Sierra)来说,这是上一步cmd + alt + R

【讨论】:

问题是关于上一个断点,而不是下一个! 你试过了吗?我在 Windows 上使用 AS 2.3.3,但它不起作用。 ctrl+alt+r 什么都不做。 丢帧菜单项被禁用。

以上是关于我可以在 Android Studio 中调试时退回到之前的断点吗? (掉帧)的主要内容,如果未能解决你的问题,请参考以下文章

是否可以在 Android Studio 中调试 C/C++?

如何在Android Studio中调试“桌面”libgdx应用程序

如何在 Android Studio 中使用 adb over WiFi 进行调试

是否可以在 Android Studio 中本地调试 Google Play 的应用内计费?

在 Intellij / Android Studio 中调试 Gradle 构建文件

使用Android Studio调试C ++库