LLDB mainline
StackFrameList.cpp File Reference

Go to the source code of this file.

Classes

struct  CallDescriptor
 A sequence of calls that comprise some portion of a backtrace. More...

Typedefs

using CallSequence = std::vector<CallDescriptor>

Functions

static void FindInterveningFrames (Function &begin, Function &end, ExecutionContext &exe_ctx, Target &target, addr_t return_pc, CallSequence &path, ModuleList &images, Log *log)
 Find the unique path through the call graph from begin (with return PC return_pc) to end.
static bool CompareStackID (const StackFrameSP &stack_sp, const StackID &stack_id)

Typedef Documentation

◆ CallSequence

using CallSequence = std::vector<CallDescriptor>

Definition at line 153 of file StackFrameList.cpp.

Function Documentation

◆ CompareStackID()

bool CompareStackID ( const StackFrameSP & stack_sp,
const StackID & stack_id )
static

◆ FindInterveningFrames()

void FindInterveningFrames ( Function & begin,
Function & end,
ExecutionContext & exe_ctx,
Target & target,
addr_t return_pc,
CallSequence & path,
ModuleList & images,
Log * log )
static

Find the unique path through the call graph from begin (with return PC return_pc) to end.

On success this path is stored into path, and on failure path is unchanged. This function doesn't currently access StackFrameLists at all, it only looks at the frame set in the ExecutionContext it passes around.

Definition at line 160 of file StackFrameList.cpp.

References lldb_private::Function::GetCallEdgeForReturnAddress(), lldb_private::Function::GetCallEdges(), lldb_private::CallEdge::GetCallee(), lldb_private::Function::GetDisplayName(), lldb_private::Function::GetTailCallingEdges(), and LLDB_LOG.

Referenced by lldb_private::StackFrameList::SynthesizeTailCallFrames().