Improve Throwable::Dump and log location of verify failing classes.
Change-Id: I167596931a338b3de265391df7b3a8f5a1d29bb3
diff --git a/src/class_linker.cc b/src/class_linker.cc
index 0e9e43a..cccf0f6 100644
--- a/src/class_linker.cc
+++ b/src/class_linker.cc
@@ -1898,9 +1898,10 @@
// Sanity check that a verified class has GC maps on all methods
CheckMethodsHaveGcMaps(klass);
} else {
- LOG(ERROR) << "Verification failed on class " << PrettyClass(klass);
+ LOG(ERROR) << "Verification failed on class " << PrettyDescriptor(klass)
+ << " in " << klass->GetDexCache()->GetLocation()->ToModifiedUtf8();
Thread* self = Thread::Current();
- CHECK(!self->IsExceptionPending()) << PrettyTypeOf(self->GetException()) << PrettyClass(klass);
+ CHECK(!self->IsExceptionPending()) << self->GetException()->Dump();
self->ThrowNewExceptionF("Ljava/lang/VerifyError;", "Verification of %s failed",
PrettyDescriptor(klass).c_str());
CHECK_EQ(klass->GetStatus(), Class::kStatusVerifying) << PrettyClass(klass);