Fix memory breakpoint when checking the middle of the data

If the delimiters of a memory aren't exactly the same as an address, but their size includes the memory breakpoint delimiter, the break will not go through.  This makes it so that you can specify a search for a memory breakpoint with a data size and will check if the data fits with that size on all memory breakpoints so the breaks go through.
This commit is contained in:
aldelaro5
2017-03-02 20:07:24 -05:00
parent b83929477f
commit 8bf27cf42f
9 changed files with 22 additions and 20 deletions

View File

@ -4,6 +4,7 @@
#include "Core/Debugger/PPCDebugInterface.h"
#include <cstddef>
#include <string>
#include "Common/GekkoDisassembler.h"
@ -129,9 +130,9 @@ void PPCDebugInterface::ClearAllMemChecks()
PowerPC::memchecks.Clear();
}
bool PPCDebugInterface::IsMemCheck(unsigned int address)
bool PPCDebugInterface::IsMemCheck(unsigned int address, size_t size)
{
return PowerPC::memchecks.GetMemCheck(address) != nullptr;
return PowerPC::memchecks.GetMemCheck(address, size) != nullptr;
}
void PPCDebugInterface::ToggleMemCheck(unsigned int address, bool read, bool write, bool log)