android - 是否有进入调试器的函数调用?

标签 android

例如,flash 平台提供了执行此任务的 flash.debugger.enterDebugger() API 调用:

if (some_cond())
{
    ...
}
else
{
   enterDebugger();
}

在这种情况下,如果 some_cond() 的计算结果为 false 并且我们处于调试 session 中(如果我们处于正常 session 中,它什么也不做),那么执行将在调用 enterDebugger 的行停止并且将控制权交给调试器,就像在该行设置了断点一样。

我查看了 android.os 包,但没有找到类似的东西。抛出异常完成了将控制权交给调试器的工作,但随后无法在抛出异常的位置恢复代码执行。

最佳答案

Java 调试支持异常挂起。你可以这样写:

void enterDebugger() {
  try {
    throw new DebugException();
  }
  catch (DebugException e) { //no-op
  }
}

然后将您的 IDE 设置为在捕获到 DebugException 类型的异常时暂停。

关于android - 是否有进入调试器的函数调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3720943/

相关文章:

android - 检查可见区域android上显示的标记数

java - System.setProperty 的范围

Android Studio 2.4 + Lombok annotationProcessor 配置困惑

java - 更改重新加载屏幕上的微调器具有新值

java - 单击按钮时 setText 不会更改或更新

android - 将像素转换为 sp

android - Android ScrollView 中的 VerticalScrollExtent 是什么?

java - 如何使用 GSON 获取两个 json 对象之间的差异?

android - 如何在纸牌游戏中使用网格布局

android - GestureOverlayView 和 GestureDetector 的性能