OSDN Git Service

Fix debugger crashes in presence of proxy objects.
authorSebastien Hertz <shertz@google.com>
Thu, 13 Mar 2014 10:52:31 +0000 (11:52 +0100)
committerSebastien Hertz <shertz@google.com>
Thu, 13 Mar 2014 14:11:19 +0000 (15:11 +0100)
commitb7054baf28d4d652fbd98a94b089344a31898d53
tree54d2548fab1faa859d6e610d03881e71074b1cb7
parent37d4c1db4d705f5a28001f65afdd68d0527948d8
Fix debugger crashes in presence of proxy objects.

Fix ClassHelper::NumDirectInterfaces to use IfTable::Count instead of the
iftable array's length (which is twice the interface count). This happens when
processing ReferenceType::Interfaces command and was causing a crash.

Return ABSENT_INFORMATION error code when we're asked for the source file of a
proxy class. Otherwise we call ClassHelper::GetSourceFile which expect the
class has a corresponding ClassDef item in the DEX file which is not true for
proxy classes.

Add new proxy_test to check ClassHelper works correctly with proxy classes.

Bug: 13426918
Change-Id: I5c1212b1a697dd7dc1ab18e99552ee113c533a5a
build/Android.gtest.mk
runtime/debugger.cc
runtime/object_utils.h
runtime/proxy_test.cc [new file with mode: 0644]