MCPcopy Create free account
hub / github.com/beefytech/Beef / TryFollowHotJump

Method TryFollowHotJump

IDEHelper/WinDebugger.cpp:5539–5559  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

5537}
5538
5539DbgSubprogram* WinDebugger::TryFollowHotJump(DbgSubprogram* subprogram, addr_target addr)
5540{
5541 if (subprogram->mHotReplaceKind != DbgSubprogram::HotReplaceKind_Replaced)
5542 return subprogram;
5543
5544 if (addr != subprogram->mBlock.mLowPC)
5545 return subprogram;
5546
5547 auto dbgModule = subprogram->mCompileUnit->mDbgModule;
5548
5549 HotJumpOp jumpOp = ReadMemory<HotJumpOp>(addr);
5550 if (jumpOp.mOpCode != 0xE9)
5551 return subprogram;
5552 addr_target jumpAddr = addr + jumpOp.mRelTarget + sizeof(HotJumpOp);
5553
5554 auto jumpSubprogram = mDebugTarget->FindSubProgram(jumpAddr);
5555 if (jumpSubprogram == NULL)
5556 return subprogram;
5557
5558 return jumpSubprogram;
5559}
5560
5561bool WinDebugger::ShouldShowStaticMember(DbgType* dbgType, DbgVariable* member)
5562{

Callers 1

PopulateHotCallstacksMethod · 0.80

Calls 1

FindSubProgramMethod · 0.80

Tested by

no test coverage detected