summaryrefslogtreecommitdiffstats
path: root/lldb/source/Target/ThreadPlanBase.cpp
diff options
context:
space:
mode:
authorGreg Clayton <gclayton@apple.com>2012-12-05 00:16:59 +0000
committerGreg Clayton <gclayton@apple.com>2012-12-05 00:16:59 +0000
commit90ba81150ef36277659edcc880d5440bd00ba997 (patch)
treeb6f4584b58e3b66240b7ecee9a993f34c0801e10 /lldb/source/Target/ThreadPlanBase.cpp
parentd31802c1f6ee4018bf362a1034bab0802c07024b (diff)
downloadbcm5719-llvm-90ba81150ef36277659edcc880d5440bd00ba997.tar.gz
bcm5719-llvm-90ba81150ef36277659edcc880d5440bd00ba997.zip
<rdar://problem/12649160>
Added the ability to debug through your process exec'ing itself to the same architecture. llvm-svn: 169340
Diffstat (limited to 'lldb/source/Target/ThreadPlanBase.cpp')
-rw-r--r--lldb/source/Target/ThreadPlanBase.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/lldb/source/Target/ThreadPlanBase.cpp b/lldb/source/Target/ThreadPlanBase.cpp
index f8e4b6a156a..ebf468603cf 100644
--- a/lldb/source/Target/ThreadPlanBase.cpp
+++ b/lldb/source/Target/ThreadPlanBase.cpp
@@ -139,6 +139,14 @@ ThreadPlanBase::ShouldStop (Event *event_ptr)
m_thread.DiscardThreadPlans(false);
return true;
+ case eStopReasonExec:
+ // If we crashed, discard thread plans and stop. Don't force the discard, however,
+ // since on rerun the target may clean up this exception and continue normally from there.
+ if (log)
+ log->Printf("Base plan discarding thread plans for thread tid = 0x%4.4" PRIx64 " (exec.)", m_thread.GetID());
+ m_thread.DiscardThreadPlans(false);
+ return true;
+
case eStopReasonSignal:
if (stop_info_sp->ShouldStop(event_ptr))
{
OpenPOWER on IntegriCloud