9 #ifndef LLDB_TARGET_THREADPLANSTACK_H
10 #define LLDB_TARGET_THREADPLANSTACK_H
14 #include <unordered_map>
43 bool include_internal)
const;
55 void SetTracer(lldb::ThreadPlanTracerSP &tracer_sp);
57 void PushPlan(lldb::ThreadPlanSP new_plan_sp);
76 bool skip_private =
true)
const;
103 bool include_internal)
const;
124 bool check_for_new =
true);
135 result->second.ThreadDestroyed(
nullptr);
145 return &result->second;
150 plan.second.ThreadDestroyed(
nullptr);
156 bool ignore_boring,
bool skip_unreported);
161 bool ignore_boring,
bool skip_unreported);
167 using PlansList = std::unordered_map<lldb::tid_t, ThreadPlanStack>;
A plug-in interface definition class for debugging a process.
A stream class that can stream formatted output to a file.
bool RemoveTID(lldb::tid_t tid)
void DumpPlans(Stream &strm, lldb::DescriptionLevel desc_level, bool internal, bool ignore_boring, bool skip_unreported)
void AddThread(Thread &thread)
bool PrunePlansForTID(lldb::tid_t tid)
void Update(ThreadList ¤t_threads, bool delete_missing, bool check_for_new=true)
ThreadPlanStack * Find(lldb::tid_t tid)
ThreadPlanStackMap(Process &process)
bool DumpPlansForTID(Stream &strm, lldb::tid_t tid, lldb::DescriptionLevel desc_level, bool internal, bool ignore_boring, bool skip_unreported)
std::unordered_map< lldb::tid_t, ThreadPlanStack > PlansList
PlanStack m_discarded_plans
Plans that have been discarded by this stop.
void SetTracer(lldb::ThreadPlanTracerSP &tracer_sp)
size_t m_completed_plan_checkpoint
void DiscardPlansUpToPlan(ThreadPlan *up_to_plan_ptr)
void PrintOneStack(Stream &s, llvm::StringRef stack_name, const PlanStack &stack, lldb::DescriptionLevel desc_level, bool include_internal) const
lldb::ThreadPlanSP PopPlan()
bool AnyCompletedPlans() const
void DumpThreadPlans(Stream &s, lldb::DescriptionLevel desc_level, bool include_internal) const
lldb::ThreadPlanSP GetCompletedPlan(bool skip_private=true) const
void EnableTracer(bool value, bool single_stepping)
lldb::ExpressionVariableSP GetExpressionVariable() const
PlanStack m_completed_plans
Plans that have been completed by this stop.
void ThreadDestroyed(Thread *thread)
ThreadPlanStack(const Thread &thread, bool make_empty=false)
bool AnyDiscardedPlans() const
bool IsPlanDone(ThreadPlan *plan) const
void RestoreCompletedPlanCheckpoint(size_t checkpoint)
lldb::ThreadPlanSP GetPlanByIndex(uint32_t plan_idx, bool skip_private=true) const
void DiscardConsultingMasterPlans()
lldb::ValueObjectSP GetReturnValueObject() const
const PlanStack & GetStackOfKind(ThreadPlanStack::StackKind kind) const
void PushPlan(lldb::ThreadPlanSP new_plan_sp)
lldb::ThreadPlanSP DiscardPlan()
std::unordered_map< size_t, PlanStack > m_completed_plan_store
bool WasPlanDiscarded(ThreadPlan *plan) const
void DiscardCompletedPlanCheckpoint(size_t checkpoint)
size_t CheckpointCompletedPlans()
ThreadPlan * GetInnermostExpression() const
PlanStack m_plans
The stack of plans this thread is executing.
lldb::ThreadPlanSP GetCurrentPlan() const
ThreadPlan * GetPreviousPlan(ThreadPlan *current_plan) const
std::vector< lldb::ThreadPlanSP > PlanStack
A class that represents a running process on the host machine.
DescriptionLevel
Description levels for "void GetDescription(Stream *, DescriptionLevel)" calls.
lldb::user_id_t GetID() const
Get accessor for the user ID.