summaryrefslogtreecommitdiffstats
path: root/lldb/source/Target/ThreadPlanBase.cpp
diff options
context:
space:
mode:
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