Use the "last created watchpoint" rather than asserting on watchpoint commands passing no watchpoint ID.
<rdar://problem/14327560>
git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@185406 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/source/Target/Target.cpp b/source/Target/Target.cpp
index 064023e..c7638e9 100644
--- a/source/Target/Target.cpp
+++ b/source/Target/Target.cpp
@@ -782,6 +782,7 @@
return false;
}
m_watchpoint_list.RemoveAll (true);
+ m_last_created_watchpoint.reset();
return true; // Success!
}
@@ -949,6 +950,10 @@
if (log)
log->Printf ("Target::%s (watch_id = %i)\n", __FUNCTION__, watch_id);
+ WatchpointSP watch_to_remove_sp = m_watchpoint_list.FindByID(watch_id);
+ if (watch_to_remove_sp == m_last_created_watchpoint)
+ m_last_created_watchpoint.reset();
+
if (DisableWatchpointByID (watch_id))
{
m_watchpoint_list.Remove(watch_id, true);