diff --git a/GleeBug/Debugger.Loop.Exception.cpp b/GleeBug/Debugger.Loop.Exception.cpp index 00fe270..992918f 100644 --- a/GleeBug/Debugger.Loop.Exception.cpp +++ b/GleeBug/Debugger.Loop.Exception.cpp @@ -23,7 +23,7 @@ namespace GleeBug { //check if this address had a breakpoint that was recently deleted auto& deletedBps = mProcess->recentlyDeletedSwbp; - auto foundIt = std::find(deletedBps.begin(), deletedBps.end(), exceptionAddress); + auto foundIt = deletedBps.find(exceptionAddress); if(foundIt != deletedBps.end() && mThread) { Registers(mThread->hThread, CONTEXT_CONTROL).Gip = exceptionAddress; diff --git a/GleeBug/Debugger.Process.Breakpoint.cpp b/GleeBug/Debugger.Process.Breakpoint.cpp index e67d35a..bcad659 100644 --- a/GleeBug/Debugger.Process.Breakpoint.cpp +++ b/GleeBug/Debugger.Process.Breakpoint.cpp @@ -68,7 +68,7 @@ namespace GleeBug return false; FlushInstructionCache(hProcess, nullptr, 0); - recentlyDeletedSwbp.push_back(address); + recentlyDeletedSwbp.insert(address); //remove the breakpoint from the maps softwareBreakpointReferences.erase(info.address); diff --git a/GleeBug/Debugger.Process.h b/GleeBug/Debugger.Process.h index 3459fcf..f17d6c1 100644 --- a/GleeBug/Debugger.Process.h +++ b/GleeBug/Debugger.Process.h @@ -32,7 +32,7 @@ namespace GleeBug MemoryBreakpointSet memoryBreakpointRanges; MemoryBreakpointMap memoryBreakpointPages; - std::vector recentlyDeletedSwbp; + std::unordered_set recentlyDeletedSwbp; /** \brief Constructor.