dump callstack on Surface use error

Change-Id: I38e260dd47349b9af3a999dda683a083a94be16d
This commit is contained in:
Mathias Agopian 2010-12-10 15:37:48 -08:00
parent 4f9da642af
commit e6f096a4cd
2 changed files with 7 additions and 1 deletions

View File

@ -50,7 +50,7 @@ public:
void clear(); void clear();
void update(int32_t ignoreDepth=0, int32_t maxDepth=MAX_DEPTH); void update(int32_t ignoreDepth=1, int32_t maxDepth=MAX_DEPTH);
// Dump a stack trace to the log // Dump a stack trace to the log
void dump(const char* prefix = 0) const; void dump(const char* prefix = 0) const;

View File

@ -489,6 +489,9 @@ status_t Surface::validate() const
LOGE("[Surface] using an invalid surface, " LOGE("[Surface] using an invalid surface, "
"identity=%u should be %d", "identity=%u should be %d",
mIdentity, identity); mIdentity, identity);
CallStack stack;
stack.update();
stack.dump("Surface");
return NO_INIT; return NO_INIT;
} }
@ -497,6 +500,9 @@ status_t Surface::validate() const
if (err != NO_ERROR) { if (err != NO_ERROR) {
LOGE("surface (identity=%u) is invalid, err=%d (%s)", LOGE("surface (identity=%u) is invalid, err=%d (%s)",
mIdentity, err, strerror(-err)); mIdentity, err, strerror(-err));
CallStack stack;
stack.update();
stack.dump("Surface");
return err; return err;
} }