From 1eeefa63b9ad8289138b83dfccda3ff38ed23fb6 Mon Sep 17 00:00:00 2001 From: Alex Light Date: Mon, 19 Mar 2018 13:47:56 -0700 Subject: Remove unhelpful ExceptionDescribe from DDMS error path. If a DDMS handler threw an error or returned invalid input we would call ExceptionDescribe on the exception. This is usually not very helpful since it goes to System.err instead of logcat and can make testing difficult. This change replaces the ExceptionDescribe with a LOG(INFO). Test: ./test.py --host -j50 Bug: 70988713 Change-Id: I41e743c42e63c0dcb6d32473c31f391983819d32 --- runtime/debugger.cc | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'runtime/debugger.cc') diff --git a/runtime/debugger.cc b/runtime/debugger.cc index 99a4c77979..4a9449640b 100644 --- a/runtime/debugger.cc +++ b/runtime/debugger.cc @@ -4354,9 +4354,11 @@ bool Dbg::DdmHandleChunk(JNIEnv* env, WellKnownClasses::org_apache_harmony_dalvik_ddmc_DdmServer_dispatch, type, dataArray.get(), 0, data.size())); if (env->ExceptionCheck()) { - LOG(INFO) << StringPrintf("Exception thrown by dispatcher for 0x%08x", type); - env->ExceptionDescribe(); - env->ExceptionClear(); + Thread* self = Thread::Current(); + ScopedObjectAccess soa(self); + LOG(INFO) << StringPrintf("Exception thrown by dispatcher for 0x%08x", type) << std::endl + << self->GetException()->Dump(); + self->ClearException(); return false; } @@ -4400,10 +4402,11 @@ bool Dbg::DdmHandleChunk(JNIEnv* env, reinterpret_cast(out_data->data())); if (env->ExceptionCheck()) { + Thread* self = Thread::Current(); + ScopedObjectAccess soa(self); LOG(INFO) << StringPrintf("Exception thrown when reading response data from dispatcher 0x%08x", - type); - env->ExceptionDescribe(); - env->ExceptionClear(); + type) << std::endl << self->GetException()->Dump(); + self->ClearException(); return false; } -- cgit v1.2.3-59-g8ed1b