mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-09 20:12:21 +02:00
Fixed Get Debug Alloc Information pausing
This commit is contained in:
parent
f8083037f9
commit
a730e782f5
3 changed files with 4 additions and 3 deletions
|
@ -189,6 +189,7 @@ enum DbgHotResolveFlags : uint8
|
||||||
DbgHotResolveFlag_None = 0,
|
DbgHotResolveFlag_None = 0,
|
||||||
DbgHotResolveFlag_ActiveMethods = 1,
|
DbgHotResolveFlag_ActiveMethods = 1,
|
||||||
DbgHotResolveFlag_Allocations = 2,
|
DbgHotResolveFlag_Allocations = 2,
|
||||||
|
DbgHotResolveFlag_KeepThreadState = 4
|
||||||
};
|
};
|
||||||
|
|
||||||
enum DbgMemoryFlags : uint8
|
enum DbgMemoryFlags : uint8
|
||||||
|
|
|
@ -338,7 +338,7 @@ void DbgHotScanner::ScanRoot(addr_target rootPtr, int memKind)
|
||||||
void DbgHotScanner::Scan(DbgHotResolveFlags flags)
|
void DbgHotScanner::Scan(DbgHotResolveFlags flags)
|
||||||
{
|
{
|
||||||
auto prevRunState = mDebugger->mRunState;
|
auto prevRunState = mDebugger->mRunState;
|
||||||
if (mDebugger->mRunState == RunState_Running)
|
if ((mDebugger->mRunState == RunState_Running) && ((flags & DbgHotResolveFlag_KeepThreadState) == 0))
|
||||||
{
|
{
|
||||||
mDebugger->ThreadRestorePause(NULL, NULL);
|
mDebugger->ThreadRestorePause(NULL, NULL);
|
||||||
mDebugger->mRunState = RunState_Paused;
|
mDebugger->mRunState = RunState_Paused;
|
||||||
|
@ -379,7 +379,7 @@ void DbgHotScanner::Scan(DbgHotResolveFlags flags)
|
||||||
ScanRoot(mDbgGCData.mRawRootPtr, 1);
|
ScanRoot(mDbgGCData.mRawRootPtr, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (prevRunState == RunState_Running)
|
if ((prevRunState == RunState_Running) && ((flags & DbgHotResolveFlag_KeepThreadState) == 0))
|
||||||
{
|
{
|
||||||
mDebugger->ThreadRestoreUnpause();
|
mDebugger->ThreadRestoreUnpause();
|
||||||
mDebugger->mRunState = prevRunState;
|
mDebugger->mRunState = prevRunState;
|
||||||
|
|
|
@ -1220,7 +1220,7 @@ String WinDebugger::GetDbgAllocInfo()
|
||||||
|
|
||||||
mHotResolveData = new DbgHotResolveData();
|
mHotResolveData = new DbgHotResolveData();
|
||||||
DbgHotScanner* hotScanner = new DbgHotScanner(this);
|
DbgHotScanner* hotScanner = new DbgHotScanner(this);
|
||||||
hotScanner->Scan(DbgHotResolveFlag_Allocations);
|
hotScanner->Scan((DbgHotResolveFlags)(DbgHotResolveFlag_Allocations | DbgHotResolveFlag_KeepThreadState));
|
||||||
delete hotScanner;
|
delete hotScanner;
|
||||||
|
|
||||||
String result;
|
String result;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue