1

我正在尝试使用 JDWP 在 Android 上捕获未捕获的异常。

我尝试了以下许多不同的组合,但它从来没有得到任何异常事件,只有单步事件。

它没有得到任何复合事件,在每种情况下,事件计数都是“1”。

EventRequest Set 设置正确:

EVENT_KIND_EXCEPTION
SUSPEND_THREAD_ALL
Modifiers: 1
MOD_KIND_EXCEPTION_ONLY
[referenceTypeID]
FALSE (caught)
TRUE (uncaught)

我已经尝试过使用和不使用修饰符。使用不同的referenceTypeID,例如'0','Ljava/lang/Throwable;' 等等,我也尝试使用计数修饰符。还有 CLASS_PREPARE 和 CLASS_MATCH。

在我跳过导致异常的语句后,Java 捕获并打印出异常,然后它跳转到操作系统的“Landroid/app/ActivityThread;” 执行简历活动()

但它永远不会得到任何异常事件。

我希望能够捕获任何未捕获的异常,但我什至无法让它捕获特定的异常。

如果你不给它一个“catch”命令,jdb 会做同样的事情。

我试着看看 jdb 和 Apache Harmony 也做了什么。

谢谢!

4

0 回答 0