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:
parent
6e5b6694a1
commit
ca37d1d8af
3 changed files with 19 additions and 6 deletions
|
@ -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
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue