Androidでキャッチされていない例外をキャッチするためにJDWPを使用しようとしています。
次のさまざまな組み合わせを試しましたが、例外イベントは発生せず、シングル ステップ イベントのみが発生します。
複合イベントを取得していません。いずれの場合も、イベント カウントは「1」です。
EventRequest セットが正しく設定されている:
EVENT_KIND_EXCEPTION
SUSPEND_THREAD_ALL
Modifiers: 1
MOD_KIND_EXCEPTION_ONLY
[referenceTypeID]
FALSE (caught)
TRUE (uncaught)
モディファイアありとなしで試してみました。「Ljava/lang/Throwable;」のようにすべて「0」のように異なる referenceTypeID を使用します。など。また、カウント修飾子も使用しようとしました。また、CLASS_MATCH を使用した CLASS_PREPARE。
例外を引き起こしているステートメントをステップオーバーした後、Java は例外をキャッチして出力し、OS の「Landroid/app/ActivityThread;」にジャンプします。performResumeActivity()
ただし、例外イベントは発生しません。
キャッチされていない例外をキャッチできるようにしたいのですが、特定の例外をキャッチすることさえできません。
「catch」コマンドを指定しない場合、jdb は同じことを行います。
私は jdb と Apache Harmony が何をするかを調べてみました。
ありがとう!