From deada521bb3ca2e4ac4b3ef8110a702287be9747 Mon Sep 17 00:00:00 2001 From: zilmar Date: Wed, 24 Jan 2018 21:51:04 +1100 Subject: [PATCH] [Debugger] Remove temporary out of read/write Breakpoints --- .../UserInterface/Debugger/Breakpoints.cpp | 38 ++++++------------- .../UserInterface/Debugger/Breakpoints.h | 12 +++--- .../Debugger/Debugger-ViewMemory.cpp | 2 +- .../UserInterface/Debugger/Debugger.cpp | 2 +- 4 files changed, 19 insertions(+), 35 deletions(-) diff --git a/Source/Project64/UserInterface/Debugger/Breakpoints.cpp b/Source/Project64/UserInterface/Debugger/Breakpoints.cpp index 802ca3ab6..791c6306a 100644 --- a/Source/Project64/UserInterface/Debugger/Breakpoints.cpp +++ b/Source/Project64/UserInterface/Debugger/Breakpoints.cpp @@ -21,21 +21,21 @@ CBreakpoints::CBreakpoints() { } -bool CBreakpoints::RBPAdd(uint32_t address, bool bTemporary) +bool CBreakpoints::RBPAdd(uint32_t address) { if (!ReadBPExists(address)) { - m_ReadMem.insert(breakpoints_t::value_type(address, bTemporary)); + m_ReadMem.insert(breakpoints_t::value_type(address, false)); return true; } return false; } -bool CBreakpoints::WBPAdd(uint32_t address, bool bTemporary) +bool CBreakpoints::WBPAdd(uint32_t address) { - if (!WriteBPExists(address)) + if (!WriteBPExists8(address)) { - m_WriteMem.insert(breakpoints_t::value_type(address, bTemporary)); + m_WriteMem.insert(breakpoints_t::value_type(address, false)); return true; } return false; @@ -87,17 +87,17 @@ void CBreakpoints::RemoveExecution(uint32_t address) } } -void CBreakpoints::RBPToggle(uint32_t address, bool bTemporary) +void CBreakpoints::RBPToggle(uint32_t address) { - if (RBPAdd(address, bTemporary) == false) + if (RBPAdd(address) == false) { RBPRemove(address); } } -void CBreakpoints::WBPToggle(uint32_t address, bool bTemporary) +void CBreakpoints::WBPToggle(uint32_t address) { - if (WBPAdd(address, bTemporary) == false) + if (WBPAdd(address) == false) { WBPRemove(address); } @@ -133,37 +133,21 @@ void CBreakpoints::BPClear() EBPClear(); } -CBreakpoints::BPSTATE CBreakpoints::ReadBPExists(uint32_t address, bool bRemoveTemp) +CBreakpoints::BPSTATE CBreakpoints::ReadBPExists(uint32_t address) { breakpoints_t::const_iterator itr = m_ReadMem.find(address); if (itr != m_ReadMem.end()) { - if (itr->second) - { - if (bRemoveTemp) - { - m_ReadMem.erase(itr); - } - return BP_SET_TEMP; - } return BP_SET; } return BP_NOT_SET; } -CBreakpoints::BPSTATE CBreakpoints::WriteBPExists(uint32_t address, bool bRemoveTemp) +CBreakpoints::BPSTATE CBreakpoints::WriteBPExists8(uint32_t address) { breakpoints_t::const_iterator itr = m_WriteMem.find(address); if (itr != m_WriteMem.end()) { - if (itr->second) - { - if (bRemoveTemp) - { - m_ReadMem.erase(itr); - } - return BP_SET_TEMP; - } return BP_SET; } return BP_NOT_SET; diff --git a/Source/Project64/UserInterface/Debugger/Breakpoints.h b/Source/Project64/UserInterface/Debugger/Breakpoints.h index 22603fe97..72d6c1e8d 100644 --- a/Source/Project64/UserInterface/Debugger/Breakpoints.h +++ b/Source/Project64/UserInterface/Debugger/Breakpoints.h @@ -32,18 +32,18 @@ public: const breakpoints_t & WriteMem(void) const { return m_WriteMem; } const breakpoints_t & Execution(void) const { return m_Execution; } - BPSTATE ReadBPExists(uint32_t address, bool bRemoveTemp = false); - BPSTATE WriteBPExists(uint32_t address, bool bRemoveTemp = false); + BPSTATE ReadBPExists(uint32_t address); + BPSTATE WriteBPExists8(uint32_t address); BPSTATE ExecutionBPExists(uint32_t address, bool bRemoveTemp = false); - bool RBPAdd(uint32_t address, bool bTemporary = false); + bool RBPAdd(uint32_t address); void RBPRemove(uint32_t address); - void RBPToggle(uint32_t address, bool bTemporary = false); + void RBPToggle(uint32_t address); void RBPClear(); - bool WBPAdd(uint32_t address, bool bTemporary = false); + bool WBPAdd(uint32_t address); void WBPRemove(uint32_t address); - void WBPToggle(uint32_t address, bool bTemporary = false); + void WBPToggle(uint32_t address); void WBPClear(); bool AddExecution(uint32_t address, bool bTemporary = false); diff --git a/Source/Project64/UserInterface/Debugger/Debugger-ViewMemory.cpp b/Source/Project64/UserInterface/Debugger/Debugger-ViewMemory.cpp index 1dca3f4c8..578bed68a 100644 --- a/Source/Project64/UserInterface/Debugger/Debugger-ViewMemory.cpp +++ b/Source/Project64/UserInterface/Debugger/Debugger-ViewMemory.cpp @@ -718,7 +718,7 @@ void CDebugMemoryView::SelectColors(uint32_t vaddr, bool changed, COLORREF& bgCo CSymbols::LeaveCriticalSection(); bool bHaveReadBP = m_Breakpoints->ReadBPExists(vaddr) == CBreakpoints::BP_SET; - bool bHaveWriteBP = m_Breakpoints->WriteBPExists(vaddr) == CBreakpoints::BP_SET; + bool bHaveWriteBP = m_Breakpoints->WriteBPExists8(vaddr) == CBreakpoints::BP_SET; fgHiColor = RGB(0x00, 0x00, 0x00); diff --git a/Source/Project64/UserInterface/Debugger/Debugger.cpp b/Source/Project64/UserInterface/Debugger/Debugger.cpp index c9ab9710c..a9239b525 100644 --- a/Source/Project64/UserInterface/Debugger/Debugger.cpp +++ b/Source/Project64/UserInterface/Debugger/Debugger.cpp @@ -414,7 +414,7 @@ void CDebuggerUI::CPUStepStarted() { m_ScriptSystem->HookCPUWrite()->InvokeByParamInRange(memoryAddress); - if (m_Breakpoints->WriteBPExists(memoryAddress)) + if (m_Breakpoints->WriteBPExists8(memoryAddress)) { goto breakpoint_hit; }