10 #ifndef LLDB_SBThread_h_
11 #define LLDB_SBThread_h_
24 eBroadcastBitStackChanged = (1 << 0),
25 eBroadcastBitThreadSuspended = (1 << 1),
26 eBroadcastBitThreadResumed = (1 << 2),
27 eBroadcastBitSelectedFrameChanged = (1 << 3),
28 eBroadcastBitThreadSelected = (1 << 4)
31 static const char *GetBroadcasterClassName();
37 SBThread(
const lldb::ThreadSP &lldb_object_sp);
47 lldb::StopReason GetStopReason();
51 size_t GetStopReasonDataCount();
71 uint64_t GetStopReasonDataAtIndex(uint32_t idx);
76 GetStopReasonExtendedBacktraces(InstrumentationRuntimeType type);
78 size_t GetStopDescription(
char *dst,
size_t dst_len);
82 lldb::tid_t GetThreadID()
const;
84 uint32_t GetIndexID()
const;
86 const char *GetName()
const;
88 const char *GetQueueName()
const;
90 lldb::queue_id_t GetQueueID()
const;
92 bool GetInfoItemByPathAsString(
const char *path,
SBStream &strm);
94 void StepOver(lldb::RunMode stop_other_threads = lldb::eOnlyDuringStepping);
96 void StepInto(lldb::RunMode stop_other_threads = lldb::eOnlyDuringStepping);
98 void StepInto(
const char *target_name,
99 lldb::RunMode stop_other_threads = lldb::eOnlyDuringStepping);
101 void StepInto(
const char *target_name, uint32_t end_line,
SBError &error,
102 lldb::RunMode stop_other_threads = lldb::eOnlyDuringStepping);
108 void StepInstruction(
bool step_over);
113 SBError StepUsingScriptedThreadPlan(
const char *script_class_name);
115 SBError StepUsingScriptedThreadPlan(
const char *script_class_name,
116 bool resume_immediately);
120 void RunToAddress(lldb::addr_t addr);
124 SBError UnwindInnermostExpression();
155 uint32_t GetNumFrames();
163 static bool EventIsThreadEvent(
const SBEvent &event);
181 SBThread GetExtendedBacktraceThread(
const char *type);
183 uint32_t GetExtendedBacktraceOriginatingIndexID();
185 bool SafeToCallFunctions();
188 lldb_private::Thread *operator->();
190 lldb_private::Thread *
get();
202 friend class lldb_private::QueueImpl;
205 void SetThread(
const lldb::ThreadSP &lldb_object_sp);
208 SBError ResumeNewPlan(lldb_private::ExecutionContext &exe_ctx,
209 lldb_private::ThreadPlan *new_plan);
213 lldb::ExecutionContextRefSP m_opaque_sp;
218 #endif // LLDB_SBThread_h_