LLDB mainline
Classes | Typedefs | Functions
StackFrameList.cpp File Reference
#include "lldb/Target/StackFrameList.h"
#include "lldb/Breakpoint/Breakpoint.h"
#include "lldb/Breakpoint/BreakpointLocation.h"
#include "lldb/Core/Debugger.h"
#include "lldb/Core/SourceManager.h"
#include "lldb/Core/StreamFile.h"
#include "lldb/Symbol/Block.h"
#include "lldb/Symbol/Function.h"
#include "lldb/Symbol/Symbol.h"
#include "lldb/Target/Process.h"
#include "lldb/Target/RegisterContext.h"
#include "lldb/Target/StackFrame.h"
#include "lldb/Target/StopInfo.h"
#include "lldb/Target/Target.h"
#include "lldb/Target/Thread.h"
#include "lldb/Target/Unwind.h"
#include "lldb/Utility/LLDBLog.h"
#include "lldb/Utility/Log.h"
#include "llvm/ADT/SmallPtrSet.h"
#include <memory>
Include dependency graph for StackFrameList.cpp:

Go to the source code of this file.


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


using CallSequence = std::vector< CallDescriptor >


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 252 of file StackFrameList.cpp.

Function Documentation

◆ CompareStackID()

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

◆ FindInterveningFrames()

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.

On success this path is stored into path, and on failure path is unchanged.

Definition at line 257 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().