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

Fixed Get Debug Alloc Information pausing

This commit is contained in:
Brian Fiete 2022-06-04 18:30:56 -07:00
parent f8083037f9
commit a730e782f5
3 changed files with 4 additions and 3 deletions

View file

@ -189,6 +189,7 @@ enum DbgHotResolveFlags : uint8
DbgHotResolveFlag_None = 0,
DbgHotResolveFlag_ActiveMethods = 1,
DbgHotResolveFlag_Allocations = 2,
DbgHotResolveFlag_KeepThreadState = 4
};
enum DbgMemoryFlags : uint8

View file

@ -338,7 +338,7 @@ void DbgHotScanner::ScanRoot(addr_target rootPtr, int memKind)
void DbgHotScanner::Scan(DbgHotResolveFlags flags)
{
auto prevRunState = mDebugger->mRunState;
if (mDebugger->mRunState == RunState_Running)
if ((mDebugger->mRunState == RunState_Running) && ((flags & DbgHotResolveFlag_KeepThreadState) == 0))
{
mDebugger->ThreadRestorePause(NULL, NULL);
mDebugger->mRunState = RunState_Paused;
@ -379,7 +379,7 @@ void DbgHotScanner::Scan(DbgHotResolveFlags flags)
ScanRoot(mDbgGCData.mRawRootPtr, 1);
}
if (prevRunState == RunState_Running)
if ((prevRunState == RunState_Running) && ((flags & DbgHotResolveFlag_KeepThreadState) == 0))
{
mDebugger->ThreadRestoreUnpause();
mDebugger->mRunState = prevRunState;

View file

@ -1220,7 +1220,7 @@ String WinDebugger::GetDbgAllocInfo()
mHotResolveData = new DbgHotResolveData();
DbgHotScanner* hotScanner = new DbgHotScanner(this);
hotScanner->Scan(DbgHotResolveFlag_Allocations);
hotScanner->Scan((DbgHotResolveFlags)(DbgHotResolveFlag_Allocations | DbgHotResolveFlag_KeepThreadState));
delete hotScanner;
String result;