From: Jim Ingham Date: Thu, 14 Mar 2013 21:44:36 +0000 (+0000) Subject: Add some logging to track cases where “step-in” steps out due to the avoid-regexp... X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3101ba3300856fe3fba5f2f819d42388651a8f61;p=platform%2Fupstream%2Fllvm.git Add some logging to track cases where “step-in” steps out due to the avoid-regexp and the step-in target. llvm-svn: 177117 --- diff --git a/lldb/source/Target/ThreadPlanStepInRange.cpp b/lldb/source/Target/ThreadPlanStepInRange.cpp index d4b917f..c21eb69 100644 --- a/lldb/source/Target/ThreadPlanStepInRange.cpp +++ b/lldb/source/Target/ThreadPlanStepInRange.cpp @@ -274,7 +274,19 @@ ThreadPlanStepInRange::FrameMatchesAvoidRegexp () { const char *frame_function_name = sc.GetFunctionName().GetCString(); if (frame_function_name) - return avoid_regexp_to_use->Execute(frame_function_name); + { + bool return_value = avoid_regexp_to_use->Execute(frame_function_name); + if (return_value) + { + LogSP log(lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_STEP)); + if (log) + log->Printf ("Stepping out of function %s because it matches the avoid regexp \"%s\".", + frame_function_name, + avoid_regexp_to_use->GetText()); + + } + return return_value; + } } } return false; @@ -285,12 +297,12 @@ ThreadPlanStepInRange::DefaultShouldStopHereCallback (ThreadPlan *current_plan, { bool should_step_out = false; StackFrame *frame = current_plan->GetThread().GetStackFrameAtIndex(0).get(); + LogSP log(lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_STEP)); if (flags.Test(eAvoidNoDebug)) { if (!frame->HasDebugInformation()) { - LogSP log(lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_STEP)); if (log) log->Printf ("Stepping out of frame with no debug info"); @@ -321,13 +333,18 @@ ThreadPlanStepInRange::DefaultShouldStopHereCallback (ThreadPlan *current_plan, else if (strstr (function_name, target_name) == NULL) should_step_out = true; } + if (log && should_step_out) + log->Printf("Stepping out of frame %s which did not match step into target %s.", + sc.GetFunctionName().AsCString(), + step_in_range_plan->m_step_into_target.AsCString()); } } if (!should_step_out) { - ThreadPlanStepInRange *step_in_range_plan = static_cast (current_plan); - should_step_out = step_in_range_plan->FrameMatchesAvoidRegexp (); + ThreadPlanStepInRange *step_in_range_plan = static_cast (current_plan); + // Don't log the should_step_out here, it's easier to do it in FrameMatchesAvoidRegexp. + should_step_out = step_in_range_plan->FrameMatchesAvoidRegexp (); } }