summaryrefslogtreecommitdiff
path: root/Source/Core/Common/BreakPoints.cpp
diff options
context:
space:
mode:
authorskidau <skidau@gmail.com>2014-10-18 11:02:26 +1100
committerskidau <skidau@gmail.com>2014-10-26 14:56:02 +1100
commitdf37649b9f8499ec732b7511e7fed2b075ef7781 (patch)
tree31af859a9afe83777a38c4cf314c9800a6a3a9f7 /Source/Core/Common/BreakPoints.cpp
parentb331ec96a36a0c8bc70c45aa4b3c610342a734b4 (diff)
Changed the step over routine to a single stepping version that steps until a blr is encountered.
Cleared out all temporary breakpoints on each step to prevent phantom breakpoints from stopping the debugger.
Diffstat (limited to 'Source/Core/Common/BreakPoints.cpp')
-rw-r--r--Source/Core/Common/BreakPoints.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/Source/Core/Common/BreakPoints.cpp b/Source/Core/Common/BreakPoints.cpp
index db0cedf0bb..6014eae776 100644
--- a/Source/Core/Common/BreakPoints.cpp
+++ b/Source/Core/Common/BreakPoints.cpp
@@ -113,6 +113,19 @@ void BreakPoints::Clear()
m_BreakPoints.clear();
}
+void BreakPoints::ClearAllTemporary()
+{
+ for (const TBreakPoint& bp : m_BreakPoints)
+ {
+ if (bp.bTemporary)
+ {
+ if (jit)
+ jit->GetBlockCache()->InvalidateICache(bp.iAddress, 4, true);
+ Remove(bp.iAddress);
+ }
+ }
+}
+
MemChecks::TMemChecksStr MemChecks::GetStrings() const
{
TMemChecksStr mcs;