aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Target/ThreadPlanBase.cpp
diff options
context:
space:
mode:
authorJim Ingham <jingham@apple.com>2010-11-18 02:47:07 +0000
committerJim Ingham <jingham@apple.com>2010-11-18 02:47:07 +0000
commit773d981ce2d41b12742a33cd603b4491afd845ef (patch)
tree33275d8f4bba06e8399a8260d87d5426d52d709b /lldb/source/Target/ThreadPlanBase.cpp
parent8930615e780ff5dbba952ced757c0720a8042f2f (diff)
downloadllvm-773d981ce2d41b12742a33cd603b4491afd845ef.zip
llvm-773d981ce2d41b12742a33cd603b4491afd845ef.tar.gz
llvm-773d981ce2d41b12742a33cd603b4491afd845ef.tar.bz2
The thread plan destructors may call Thread virtual methods. That means they have to get cleaned up in the derived class's destructor. Make sure that happens.
llvm-svn: 119675
Diffstat (limited to 'lldb/source/Target/ThreadPlanBase.cpp')
-rw-r--r--lldb/source/Target/ThreadPlanBase.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/lldb/source/Target/ThreadPlanBase.cpp b/lldb/source/Target/ThreadPlanBase.cpp
index 55ef2f7..eceb383 100644
--- a/lldb/source/Target/ThreadPlanBase.cpp
+++ b/lldb/source/Target/ThreadPlanBase.cpp
@@ -36,7 +36,14 @@ ThreadPlanBase::ThreadPlanBase (Thread &thread) :
ThreadPlan(ThreadPlan::eKindBase, "base plan", thread, eVoteYes, eVoteNoOpinion)
{
// Set the tracer to a default tracer.
+ // FIXME: need to add a thread settings variable to pix various tracers...
+#define THREAD_PLAN_USE_ASSEMBLY_TRACER 1
+
+#ifdef THREAD_PLAN_USE_ASSEMBLY_TRACER
+ ThreadPlanTracerSP new_tracer_sp (new ThreadPlanAssemblyTracer (m_thread));
+#else
ThreadPlanTracerSP new_tracer_sp (new ThreadPlanTracer (m_thread));
+#endif
new_tracer_sp->EnableTracing (m_thread.GetTraceEnabledState());
SetThreadPlanTracer(new_tracer_sp);
}