27 m_stop_others(stop_others) {
29 m_breakpoints.push_back(std::move(bkpt_sp));
33 Thread &thread,
const std::vector<BreakpointSP> &breakpoints,
37 m_stop_others(stop_others) {
38 for (
auto bkpt_sp : breakpoints) {
41 bkpt_sp->SetThreadID(thread.GetID());
42 m_breakpoints.push_back(bkpt_sp);
57 s->
PutCString(
"run to breakpoint with no breakpoints given.");
59 }
else if (num_bkpts == 1)
65 *s << llvm::formatv(
"{0} ", bkpt_sp->GetID());
69 s->
PutCString(
"run to breakpoint with no breakpoints given.");
71 }
else if (num_bkpts == 1)
121 LLDB_LOGF(log,
"Completed run to breakpoint plan.");
132 bool found_it =
false;
134 if (
auto location_sp = bkpt_sp->FindLocationByAddress(current_address)) {
static llvm::raw_ostream & error(Stream &strm)
#define LLDB_LOG(log,...)
The LLDB_LOG* macros defined below are the way to emit log messages.
#define LLDB_LOGF(log,...)
A section + offset based address class.
bool SetLoadAddress(lldb::addr_t load_addr, Target *target, bool allow_section_end=false)
Set the address to represent load_addr.
A stream class that can stream formatted output to a file.
size_t Indent(llvm::StringRef s="")
Indent the current line in the stream.
size_t PutCString(llvm::StringRef cstr)
Output a C string to the stream.
bool RemoveBreakpointByID(lldb::break_id_t break_id)
bool MischiefManaged() override
bool ValidatePlan(Stream *error) override
Returns whether this plan could be successfully created.
bool StopOthers() override
std::vector< lldb::BreakpointSP > m_breakpoints
~ThreadPlanRunToBreakpoint() override
bool DoPlanExplainsStop(Event *event_ptr) override
ThreadPlanRunToBreakpoint(Thread &thread, lldb::BreakpointSP breakpoint_sp, bool stop_others)
bool ShouldStop(Event *event_ptr) override
void GetDescription(Stream *s, lldb::DescriptionLevel level) override
Print a description of this thread to the stream s.
lldb::StateType GetPlanRunState() override
void SetStopOthers(bool new_value) override
Thread & GetThread()
Returns the Thread that is using this thread plan.
virtual bool MischiefManaged()
virtual lldb::RegisterContextSP GetRegisterContext()=0
A class that represents a running process on the host machine.
Log * GetLog(Cat mask)
Retrieve the Log object for the channel associated with the given log enum.
DescriptionLevel
Description levels for "void GetDescription(Stream *, DescriptionLevel)" calls.
StateType
Process and Thread States.
@ eStateRunning
Process or thread is running and can't be examined.
std::shared_ptr< lldb_private::Breakpoint > BreakpointSP