OSDN Git Service

JDWP: fix breakpoint on catch statement
authorSebastien Hertz <shertz@google.com>
Tue, 26 May 2015 09:53:39 +0000 (11:53 +0200)
committerSebastien Hertz <shertz@google.com>
Tue, 26 May 2015 14:36:57 +0000 (16:36 +0200)
commit54d65738eecc1fa79ed528ff2f6b9b4f7a4743be
tree6ea5d01df3d370c24a8401c5a1ee8a3c7bf58407
parent8ae14d8ed082b1d479b8488831d74acb06cd31c8
JDWP: fix breakpoint on catch statement

Setting a breakpoint on a catch statement in the source actually
installs the breakpoint on a DEX move-exception instruction. At this
point, an exception is pending in the current thread.

The issue is no exception must be pending in the current thread to
report the breakpoint event. This is required to be able to call JNI
functions to create JDWP ids.

This CL fixes it by clearing the pending exception before reporting
event and restore it after reporting the event.

Bug: 21382373

(cherry picked from commit de48aa6708a3d5dacf7db3d64965e23261fb15d3)

Change-Id: Ie107eb47b6f2559c4fa5297f4033e07baad06f38
runtime/debugger.cc