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

Method SetupStep

IDEHelper/Compiler/CeDebugger.cpp:738–777  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

736}
737
738bool CeDebugger::SetupStep(int frameIdx)
739{
740 auto ceFrame = GetFrame(frameIdx);
741 if (ceFrame == NULL)
742 {
743 ContinueDebugEvent();
744 return false;
745 }
746
747 int entryIdx = 0;
748 auto curEntry = ceFrame->mFunction->FindEmitEntry(ceFrame->GetInstIdx(), &entryIdx);
749 if (curEntry == NULL)
750 {
751 ContinueDebugEvent();
752 return false;
753 }
754
755 auto ceMachine = mCeMachine;
756 auto ceContext = mCeMachine->mCurContext;
757
758 if (entryIdx < ceFrame->mFunction->mEmitTable.mSize - 1)
759 {
760 int checkIdx = entryIdx + 1;
761 while (checkIdx < ceFrame->mFunction->mEmitTable.mSize)
762 {
763 auto checkEntry = &ceFrame->mFunction->mEmitTable[checkIdx];
764 ceMachine->mStepState.mNextInstIdx = checkEntry->mCodePos;
765 if ((checkEntry->mScope != curEntry->mScope) || (checkEntry->mLine != curEntry->mLine))
766 break;
767 ++checkIdx;
768 }
769 }
770 else
771 ceMachine->mStepState.mNextInstIdx = ceFrame->mFunction->mCode.mSize;
772 ceMachine->mStepState.mStartDepth = ceContext->mCallStack.mSize - frameIdx;
773 ceMachine->mSpecialCheck = true;
774
775 ContinueDebugEvent();
776 return true;
777}
778
779void CeDebugger::StepInto(bool inAssembly)
780{

Callers

nothing calls this directly

Calls 2

FindEmitEntryMethod · 0.80
GetInstIdxMethod · 0.80

Tested by

no test coverage detected