71 std::make_shared<ScriptedThreadPlan>(*thread, scripted_metadata);
85 std::static_pointer_cast<StructuredData::Dictionary>(args_obj);
88 std::make_shared<ScriptedThreadPlan>(*thread, scripted_metadata);
106 return this->
operator bool();
108SBThreadPlan::operator
bool()
const {
111 return static_cast<bool>(
GetSP());
142 if (thread_plan_sp) {
143 return SBThread(thread_plan_sp->GetThread().shared_from_this());
152 if (thread_plan_sp) {
155 description.Printf(
"Empty SBThreadPlan");
169 thread_plan_sp->SetPlanComplete(success);
177 return thread_plan_sp->IsPlanComplete();
186 return thread_plan_sp->IsPlanStale();
195 return thread_plan_sp->ValidatePlan(
nullptr);
204 return thread_plan_sp->StopOthers();
213 thread_plan_sp->SetStopOthers(stop_others);
236 if (thread_plan_sp) {
237 Address *start_address = sb_start_address.
get();
238 if (!start_address) {
248 thread_plan_sp->GetThread().QueueThreadPlanForStepOverRange(
251 if (plan_status.
Fail())
254 plan.
GetSP()->SetPrivate(
true);
276 if (thread_plan_sp) {
277 Address *start_address = sb_start_address.
get();
278 if (!start_address) {
288 SBThreadPlan(thread_plan_sp->GetThread().QueueThreadPlanForStepInRange(
289 false, range, sc,
nullptr,
eAllThreads, plan_status));
291 if (plan_status.
Fail())
294 plan.
GetSP()->SetPrivate(
true);
316 if (thread_plan_sp) {
318 sc = thread_plan_sp->GetThread().GetStackFrameAtIndex(0)->GetSymbolContext(
319 lldb::eSymbolContextEverything);
323 SBThreadPlan(thread_plan_sp->GetThread().QueueThreadPlanForStepOut(
325 frame_idx_to_step_to, plan_status));
327 if (plan_status.
Fail())
330 plan.
GetSP()->SetPrivate(
true);
343 if (thread_plan_sp) {
346 thread_plan_sp->GetThread().QueueThreadPlanForStepSingleInstruction(
347 step_over,
false,
false, plan_status));
349 if (plan_status.
Fail())
352 plan.
GetSP()->SetPrivate(
true);
373 if (thread_plan_sp) {
380 SBThreadPlan(thread_plan_sp->GetThread().QueueThreadPlanForRunToAddress(
381 false, *address,
false, plan_status));
383 if (plan_status.
Fail())
386 plan.
GetSP()->SetPrivate(
true);
407 if (thread_plan_sp) {
411 SBThreadPlan(thread_plan_sp->GetThread().QueueThreadPlanForStepScripted(
412 false, scripted_metadata,
false, plan_status));
414 if (plan_status.
Fail())
417 plan.GetSP()->SetPrivate(
true);
431 if (thread_plan_sp) {
437 std::static_pointer_cast<StructuredData::Dictionary>(args_obj);
440 SBThreadPlan(thread_plan_sp->GetThread().QueueThreadPlanForStepScripted(
441 false, scripted_metadata,
false, plan_status));
443 if (plan_status.
Fail())
446 plan.
GetSP()->SetPrivate(
true);
static llvm::raw_ostream & error(Stream &strm)
#define LLDB_INSTRUMENT_VA(...)
lldb_private::Address * get()
lldb_private::Stream * get()
StructuredDataImplUP m_impl_up
lldb::StopReason GetStopReason()
SBThreadPlan QueueThreadPlanForStepInRange(SBAddress &start_address, lldb::addr_t range_size)
bool GetDescription(lldb::SBStream &description) const
lldb::ThreadPlanSP GetSP() const
void SetThreadPlan(const lldb::ThreadPlanSP &lldb_object_sp)
void SetPlanComplete(bool success)
SBThreadPlan QueueThreadPlanForStepScripted(const char *script_class_name)
void SetStopOthers(bool stop_others)
SBThreadPlan QueueThreadPlanForStepSingleInstruction(bool step_over, SBError &error)
SBThread GetThread() const
const lldb::SBThreadPlan & operator=(const lldb::SBThreadPlan &rhs)
size_t GetStopReasonDataCount()
Get the number of words associated with the stop reason.
SBThreadPlan QueueThreadPlanForStepOverRange(SBAddress &start_address, lldb::addr_t range_size)
uint64_t GetStopReasonDataAtIndex(uint32_t idx)
Get information associated with a stop reason.
SBThreadPlan QueueThreadPlanForRunToAddress(SBAddress address)
lldb::ThreadPlanWP m_opaque_wp
SBThreadPlan QueueThreadPlanForStepOut(uint32_t frame_idx_to_step_to, bool first_insn=false)
lldb_private::Thread * get()
A section + offset based address range class.
A section + offset based address class.
uint32_t CalculateSymbolContext(SymbolContext *sc, lldb::SymbolContextItem resolve_scope=lldb::eSymbolContextEverything) const
Reconstruct a symbol context from an address.
bool Fail() const
Test for error condition.
const char * AsCString(const char *default_error_str="unknown error") const
Get the error string associated with the current error.
std::shared_ptr< Dictionary > DictionarySP
std::shared_ptr< Object > ObjectSP
Defines a symbol context baton that can be handed other debug core functions.
A class that represents a running process on the host machine.
std::shared_ptr< lldb_private::ThreadPlan > ThreadPlanSP
StopReason
Thread stop reasons.
@ eStructuredDataTypeDictionary