diff --git a/Source/Core/DebuggerWX/Src/BreakpointWindow.cpp b/Source/Core/DebuggerWX/Src/BreakpointWindow.cpp index 64f12ba3f6..7b9271ebef 100644 --- a/Source/Core/DebuggerWX/Src/BreakpointWindow.cpp +++ b/Source/Core/DebuggerWX/Src/BreakpointWindow.cpp @@ -299,7 +299,7 @@ CBreakPointWindow::OnAddMemoryCheckMany(wxCommandEvent& event) bool doCommon = false; // ------------------------------------------------------------------------------------------ - // Decide if we have a range or just one address + // Decide if we have a range or just one address, and if we should break or not // -------------- if ( pieces.size() == 1 @@ -311,6 +311,7 @@ CBreakPointWindow::OnAddMemoryCheckMany(wxCommandEvent& event) MemCheck.StartAddress = sAddress; MemCheck.EndAddress = sAddress; doCommon = true; + MemCheck.Break = false; } else if( pieces.size() == 2 @@ -322,6 +323,19 @@ CBreakPointWindow::OnAddMemoryCheckMany(wxCommandEvent& event) MemCheck.StartAddress = sAddress; MemCheck.EndAddress = eAddress; doCommon = true; + MemCheck.Break = false; + } + else if( + pieces.size() == 3 + && AsciiToHex(pieces[0].c_str(), sAddress) && AsciiToHex(pieces[1].c_str(), eAddress) + && pieces[0].size() == 8 && pieces[1].size() == 8 && pieces[2].size() == 1 + ) + { + // address range + MemCheck.StartAddress = sAddress; + MemCheck.EndAddress = eAddress; + doCommon = true; + MemCheck.Break = true; } if(doCommon) @@ -330,7 +344,7 @@ CBreakPointWindow::OnAddMemoryCheckMany(wxCommandEvent& event) MemCheck.OnRead = true; MemCheck.OnWrite = true; MemCheck.Log = true; - MemCheck.Break = false; // this is also what sets Active "on" in the breakpoint window + //MemCheck.Break = false; // this is also what sets Active "on" in the breakpoint window // so don't think it's off because we are only writing this to the log CBreakPoints::AddMemoryCheck(MemCheck); }