MCPcopy Create free account
hub / github.com/PCSX2/pcsx2 / StackTrace

Method StackTrace

pcsx2/DebugTools/DebugInterface.cpp:711–726  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

709}
710
711std::vector<MipsStackWalk::StackFrame> R5900DebugInterface::StackTrace(const BiosThread& thread)
712{
713 if (thread.Status() == ThreadStatus::THS_RUN)
714 {
715 return MipsStackWalk::Walk(this, getPC(), getRegister(0, 31), getRegister(0, 29),
716 thread.EntryPoint());
717 }
718
719 EEInternalCtx* ctx = static_cast<EEInternalCtx*>(PSM(thread.RegCtx()));
720 u32 pc = thread.PC();
721 // $zero is not in the array so subtract 1
722 u32 ra = ctx->gpr[31 - 1]._u32[0];
723 u32 sp = ctx->gpr[29 - 1]._u32[0];
724
725 return MipsStackWalk::Walk(this, pc, ra, sp, thread.EntryPoint());
726}
727
728std::vector<IopMod> R5900DebugInterface::GetModuleList() const
729{

Callers 1

refreshDataMethod · 0.80

Calls 5

WalkFunction · 0.85
StatusMethod · 0.45
EntryPointMethod · 0.45
RegCtxMethod · 0.45
PCMethod · 0.45

Tested by

no test coverage detected