Add some logging to track cases where “step-in” steps out due to the avoid-regexp and the step-in target.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177117 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/source/Target/ThreadPlanStepInRange.cpp b/source/Target/ThreadPlanStepInRange.cpp
index d4b917f..c21eb69 100644
--- a/source/Target/ThreadPlanStepInRange.cpp
+++ b/source/Target/ThreadPlanStepInRange.cpp
@@ -274,7 +274,19 @@
         {
             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 @@
 {
     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 @@
                     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<ThreadPlanStepInRange *> (current_plan);
-                should_step_out = step_in_range_plan->FrameMatchesAvoidRegexp ();
+            ThreadPlanStepInRange *step_in_range_plan = static_cast<ThreadPlanStepInRange *> (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 ();
         }
     }