25 ThreadPlan::eKindStepOverBreakpoint,
"Step over breakpoint trap",
31 m_auto_continue(false), m_reenabled_breakpoint_site(false)
36 thread.
GetProcess()->GetBreakpointSiteList().FindIDByAddress(
44 s->
Printf(
"Single stepping past breakpoint site %" PRIu64
" at 0x%" PRIx64,
53 StopReason reason = stop_info_sp->GetStopReason();
56 LLDB_LOG(log,
"Step over breakpoint stopped for reason: {0}.",
84 "Got breakpoint stop reason but pc: 0x%" PRIx64
115 if (bp_site_sp && bp_site_sp->IsEnabled()) {
139 LLDB_LOGF(log,
"Completed step over breakpoint plan.");
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,...)
virtual Status EnableBreakpointSite(BreakpointSite *bp_site)
StopPointSiteList< lldb_private::BreakpointSite > & GetBreakpointSiteList()
virtual Status DisableBreakpointSite(BreakpointSite *bp_site)
StopPointSiteSP FindByAddress(lldb::addr_t addr)
Returns a shared pointer to the site at address addr.
A stream class that can stream formatted output to a file.
size_t Printf(const char *format,...) __attribute__((format(printf
Output printf formatted output to the stream.
bool DoPlanExplainsStop(Event *event_ptr) override
bool IsPlanStale() override
bool ShouldStop(Event *event_ptr) override
bool ValidatePlan(Stream *error) override
Returns whether this plan could be successfully created.
bool MischiefManaged() override
void ThreadDestroyed() override
bool StopOthers() override
ThreadPlanStepOverBreakpoint(Thread &thread)
~ThreadPlanStepOverBreakpoint() override
lldb::addr_t m_breakpoint_addr
lldb::StateType GetPlanRunState() override
bool DoWillResume(lldb::StateType resume_state, bool current_plan) override
lldb::user_id_t m_breakpoint_site_id
bool m_reenabled_breakpoint_site
void GetDescription(Stream *s, lldb::DescriptionLevel level) override
Print a description of this thread to the stream s.
void ReenableBreakpointSite()
bool ShouldAutoContinue(Event *event_ptr) override
Returns whether this thread plan overrides the ShouldStop of subsequently processed plans.
void SetAutoContinue(bool do_it)
Thread & GetThread()
Returns the Thread that is using this thread plan.
virtual bool MischiefManaged()
lldb::StopInfoSP GetPrivateStopInfo()
virtual lldb::RegisterContextSP GetRegisterContext()=0
static std::string StopReasonAsString(lldb::StopReason reason)
lldb::ProcessSP GetProcess() const
#define LLDB_INVALID_ADDRESS
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.
std::shared_ptr< lldb_private::BreakpointSite > BreakpointSiteSP
DescriptionLevel
Description levels for "void GetDescription(Stream *, DescriptionLevel)" calls.
StateType
Process and Thread States.
@ eStateStepping
Process or thread is in the process of stepping and can not be examined.
std::shared_ptr< lldb_private::StopInfo > StopInfoSP
StopReason
Thread stop reasons.