forked from OSchip/llvm-project
Add some logging to track cases where “step-in” steps out due to the avoid-regexp and the step-in target.
llvm-svn: 177117
This commit is contained in:
parent
9eb40a97f7
commit
3101ba3300
|
@ -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<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 ();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue