aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Target/ThreadPlanStepInRange.cpp
diff options
context:
space:
mode:
authorJim Ingham <jingham@apple.com>2010-09-08 03:14:33 +0000
committerJim Ingham <jingham@apple.com>2010-09-08 03:14:33 +0000
commitee8aea101106d5db339ecda251fcd2546e6998d3 (patch)
tree462ffda507d2ef0e9eaed7e3badac1c79d46e2ef /lldb/source/Target/ThreadPlanStepInRange.cpp
parent83556c1a809650e0e9225996fbf670477f075f5f (diff)
downloadllvm-ee8aea101106d5db339ecda251fcd2546e6998d3.tar.gz
llvm-ee8aea101106d5db339ecda251fcd2546e6998d3.tar.bz2
llvm-ee8aea101106d5db339ecda251fcd2546e6998d3.zip
Add a user settings controller to Thread. Then added a step-avoid-regexp setting
which controls whether to stop in a function matching the regexp. llvm-svn: 113335
Diffstat (limited to 'lldb/source/Target/ThreadPlanStepInRange.cpp')
-rw-r--r--lldb/source/Target/ThreadPlanStepInRange.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/lldb/source/Target/ThreadPlanStepInRange.cpp b/lldb/source/Target/ThreadPlanStepInRange.cpp
index b95b35e59245..ecdb6fa471db 100644
--- a/lldb/source/Target/ThreadPlanStepInRange.cpp
+++ b/lldb/source/Target/ThreadPlanStepInRange.cpp
@@ -156,7 +156,13 @@ ThreadPlanStepInRange::FrameMatchesAvoidRegexp ()
{
StackFrame *frame = GetThread().GetStackFrameAtIndex(0).get();
- if (m_avoid_regexp_ap.get() != NULL)
+ RegularExpression *avoid_regexp_to_use;
+
+ avoid_regexp_to_use = m_avoid_regexp_ap.get();
+ if (avoid_regexp_to_use == NULL)
+ avoid_regexp_to_use = GetThread().GetSymbolsToAvoidRegexp();
+
+ if (avoid_regexp_to_use != NULL)
{
SymbolContext sc = frame->GetSymbolContext(eSymbolContextSymbol);
if (sc.symbol != NULL)
@@ -164,7 +170,7 @@ ThreadPlanStepInRange::FrameMatchesAvoidRegexp ()
const char *unnamed_symbol = "<UNKNOWN>";
const char *sym_name = sc.symbol->GetMangled().GetName().AsCString(unnamed_symbol);
if (strcmp (sym_name, unnamed_symbol) != 0)
- return m_avoid_regexp_ap->Execute(sym_name);
+ return avoid_regexp_to_use->Execute(sym_name);
}
}
return false;