#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/Host/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/StackFrameRecognizer.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>
usingnamespacelldb;
usingnamespacelldb_private;
StackFrameList::StackFrameList(Thread &thread,
const lldb::StackFrameListSP &prev_frames_sp,
bool show_inline_frames)
: … { … }
StackFrameList::~StackFrameList() { … }
void StackFrameList::CalculateCurrentInlinedDepth() { … }
uint32_t StackFrameList::GetCurrentInlinedDepth() { … }
void StackFrameList::ResetCurrentInlinedDepth() { … }
bool StackFrameList::DecrementCurrentInlinedDepth() { … }
void StackFrameList::SetCurrentInlinedDepth(uint32_t new_depth) { … }
void StackFrameList::GetOnlyConcreteFramesUpTo(uint32_t end_idx,
Unwind &unwinder) { … }
struct CallDescriptor { … };
CallSequence;
static void FindInterveningFrames(Function &begin, Function &end,
ExecutionContext &exe_ctx, Target &target,
addr_t return_pc, CallSequence &path,
ModuleList &images, Log *log) { … }
void StackFrameList::SynthesizeTailCallFrames(StackFrame &next_frame) { … }
bool StackFrameList::GetFramesUpTo(uint32_t end_idx,
InterruptionControl allow_interrupt) { … }
uint32_t StackFrameList::GetNumFrames(bool can_create) { … }
void StackFrameList::Dump(Stream *s) { … }
StackFrameSP StackFrameList::GetFrameAtIndex(uint32_t idx) { … }
StackFrameSP
StackFrameList::GetFrameWithConcreteFrameIndex(uint32_t unwind_idx) { … }
static bool CompareStackID(const StackFrameSP &stack_sp,
const StackID &stack_id) { … }
StackFrameSP StackFrameList::GetFrameWithStackID(const StackID &stack_id) { … }
bool StackFrameList::SetFrameAtIndex(uint32_t idx, StackFrameSP &frame_sp) { … }
void StackFrameList::SelectMostRelevantFrame() { … }
uint32_t StackFrameList::GetSelectedFrameIndex(
SelectMostRelevant select_most_relevant) { … }
uint32_t StackFrameList::SetSelectedFrame(lldb_private::StackFrame *frame) { … }
bool StackFrameList::SetSelectedFrameByIndex(uint32_t idx) { … }
void StackFrameList::SetDefaultFileAndLineToSelectedFrame() { … }
void StackFrameList::Clear() { … }
lldb::StackFrameSP
StackFrameList::GetStackFrameSPForStackFramePtr(StackFrame *stack_frame_ptr) { … }
size_t StackFrameList::GetStatus(Stream &strm, uint32_t first_frame,
uint32_t num_frames, bool show_frame_info,
uint32_t num_frames_with_source,
bool show_unique, bool show_hidden,
const char *selected_frame_marker) { … }