Make the "log enable lldb-step" output easier to parse.
git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@142025 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/source/Target/Thread.cpp b/source/Target/Thread.cpp
index bed1e2a..7af8714 100644
--- a/source/Target/Thread.cpp
+++ b/source/Target/Thread.cpp
@@ -262,9 +262,11 @@
LogSP log(lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_STEP));
if (log)
{
+ log->Printf ("^^^^^^^^ Thread::ShouldStop Begin ^^^^^^^^");
StreamString s;
+ s.IndentMore();
DumpThreadPlans(&s);
- log->PutCString (s.GetData());
+ log->Printf ("Plan stack initial state:\n%s", s.GetData());
}
// The top most plan always gets to do the trace log...
@@ -274,6 +276,9 @@
{
bool over_ride_stop = current_plan->ShouldAutoContinue(event_ptr);
+ if (log)
+ log->Printf("Plan %s explains stop, auto-continue %i.", current_plan->GetName(), over_ride_stop);
+
// We're starting from the base plan, so just let it decide;
if (PlanIsBasePlan(current_plan))
{
@@ -330,7 +335,7 @@
}
else if (current_plan->TracerExplainsStop())
{
- return false;
+ should_stop = false;
}
else
{
@@ -348,6 +353,14 @@
}
}
+ if (log)
+ {
+ StreamString s;
+ s.IndentMore();
+ DumpThreadPlans(&s);
+ log->Printf ("Plan stack final state:\n%s", s.GetData());
+ log->Printf ("vvvvvvvv Thread::ShouldStop End (returning %i) vvvvvvvv", should_stop);
+ }
return should_stop;
}
@@ -850,36 +863,48 @@
{
uint32_t stack_size = m_plan_stack.size();
int i;
+ s->Indent();
s->Printf ("Plan Stack for thread #%u: tid = 0x%4.4x, stack_size = %d\n", GetIndexID(), GetID(), stack_size);
for (i = stack_size - 1; i >= 0; i--)
{
- s->Printf ("Element %d: ", i);
s->IndentMore();
+ s->Indent();
+ s->Printf ("Element %d: ", i);
m_plan_stack[i]->GetDescription (s, eDescriptionLevelFull);
- s->IndentLess();
s->EOL();
+ s->IndentLess();
}
stack_size = m_completed_plan_stack.size();
- s->Printf ("Completed Plan Stack: %d elements.\n", stack_size);
- for (i = stack_size - 1; i >= 0; i--)
+ if (stack_size > 0)
{
- s->Printf ("Element %d: ", i);
- s->IndentMore();
- m_completed_plan_stack[i]->GetDescription (s, eDescriptionLevelFull);
- s->IndentLess();
- s->EOL();
+ s->Indent();
+ s->Printf ("Completed Plan Stack: %d elements.\n", stack_size);
+ for (i = stack_size - 1; i >= 0; i--)
+ {
+ s->IndentMore();
+ s->Indent();
+ s->Printf ("Element %d: ", i);
+ m_completed_plan_stack[i]->GetDescription (s, eDescriptionLevelFull);
+ s->EOL();
+ s->IndentLess();
+ }
}
stack_size = m_discarded_plan_stack.size();
- s->Printf ("Discarded Plan Stack: %d elements.\n", stack_size);
- for (i = stack_size - 1; i >= 0; i--)
+ if (stack_size > 0)
{
- s->Printf ("Element %d: ", i);
- s->IndentMore();
- m_discarded_plan_stack[i]->GetDescription (s, eDescriptionLevelFull);
- s->IndentLess();
- s->EOL();
+ s->Indent();
+ s->Printf ("Discarded Plan Stack: %d elements.\n", stack_size);
+ for (i = stack_size - 1; i >= 0; i--)
+ {
+ s->IndentMore();
+ s->Indent();
+ s->Printf ("Element %d: ", i);
+ m_discarded_plan_stack[i]->GetDescription (s, eDescriptionLevelFull);
+ s->EOL();
+ s->IndentLess();
+ }
}
}