1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-08 03:28:20 +02:00

Improved hot swap error handling

This commit is contained in:
Brian Fiete 2020-06-30 14:35:20 -07:00
parent 6e5b6694a1
commit ca37d1d8af
3 changed files with 19 additions and 6 deletions

View file

@ -103,21 +103,22 @@ void DebugTarget::SetupTargetBinary()
addr_target reservedPtr = NULL;
while ((addr_target)checkHotReserveAddr < (addr_target)mTargetBinary->mImageBase + 0x30000000)
{
{
reservedPtr = (addr_target)VirtualAllocEx(mDebugger->mProcessInfo.hProcess, (void*)(intptr)checkHotReserveAddr, reserveSize, MEM_RESERVE, PAGE_EXECUTE_READWRITE);
if (reservedPtr != NULL)
break;
checkHotReserveAddr += 4 * mb;
}
if (reservedPtr != 0)
if (reservedPtr == 0)
{
mDebugger->Fail("Failed to reserve memory for hot swapping");
}
else
{
BF_ASSERT(mHotHeap == NULL);
mHotHeap = new HotHeap(reservedPtr, reserveSize);
}
//TODO: Throw actual error if we can't reserve HOT area
BF_ASSERT(reservedPtr != NULL);
}
#endif
}