Fix exception caught listeners and frame type for deopt.

Change-Id: I5792ebe9a7772d068b6ec556b4fc27ddd44d7ca1
diff --git a/src/debugger.cc b/src/debugger.cc
index 9bd1eb5..0712c93 100644
--- a/src/debugger.cc
+++ b/src/debugger.cc
@@ -538,7 +538,8 @@
   runtime->GetInstrumentation()->AddListener(&gDebugInstrumentationListener,
                                              instrumentation::Instrumentation::kMethodEntered |
                                              instrumentation::Instrumentation::kMethodExited |
-                                             instrumentation::Instrumentation::kDexPcMoved);
+                                             instrumentation::Instrumentation::kDexPcMoved |
+                                             instrumentation::Instrumentation::kExceptionCaught);
   gDebuggerActive = true;
   CHECK_EQ(self->SetStateUnsafe(old_state), kRunnable);
   runtime->GetThreadList()->ResumeAll();
@@ -561,7 +562,8 @@
   runtime->GetInstrumentation()->RemoveListener(&gDebugInstrumentationListener,
                                                 instrumentation::Instrumentation::kMethodEntered |
                                                 instrumentation::Instrumentation::kMethodExited |
-                                                instrumentation::Instrumentation::kDexPcMoved);
+                                                instrumentation::Instrumentation::kDexPcMoved |
+                                                instrumentation::Instrumentation::kExceptionCaught);
   gDebuggerActive = false;
   gRegistry->Clear();
   gDebuggerConnected = false;