例如,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/