Go to the documentation of this file.
23 ThreadPlanStepOverBreakpoint::ThreadPlanStepOverBreakpoint(
Thread &thread)
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
113 BreakpointSiteSP bp_site_sp(
115 if (bp_site_sp && bp_site_sp->IsEnabled()) {
139 LLDB_LOGF(log,
"Completed step over breakpoint plan.");
151 BreakpointSiteSP bp_site_sp(
Thread & GetThread()
Returns the Thread that is using this thread plan.
void ReenableBreakpointSite()
void ThreadDestroyed() override
#define LLDB_LOGF(log,...)
BreakpointSiteList & GetBreakpointSiteList()
bool IsPlanStale() override
StopReason
Thread stop reasons.
void GetDescription(Stream *s, lldb::DescriptionLevel level) override
Print a description of this thread to the stream s.
bool StopOthers() override
lldb::ProcessSP GetProcess() const
static llvm::raw_ostream & error(Stream &strm)
lldb::BreakpointSiteSP FindByAddress(lldb::addr_t addr)
Returns a shared pointer to the breakpoint site at address addr.
virtual bool MischiefManaged()
bool ShouldAutoContinue(Event *event_ptr) override
Returns whether this thread plan overrides the ShouldStop of subsequently processed plans.
lldb::user_id_t m_breakpoint_site_id
bool DoWillResume(lldb::StateType resume_state, bool current_plan) override
bool ValidatePlan(Stream *error) override
Returns whether this plan could be successfully created.
lldb::addr_t m_breakpoint_addr
@ eStateStepping
Process or thread is in the process of stepping and can not be examined.
bool ShouldStop(Event *event_ptr) override
lldb::StateType GetPlanRunState() override
void SetAutoContinue(bool do_it)
bool MischiefManaged() override
bool DoPlanExplainsStop(Event *event_ptr) override
#define LLDB_INVALID_ADDRESS
#define LLDB_LOG(log,...)
The LLDB_LOG* macros defined below are the way to emit log messages.
size_t Printf(const char *format,...) __attribute__((format(printf
Output printf formatted output to the stream.
bool m_reenabled_breakpoint_site
A class that represents a running process on the host machine.
virtual Status EnableBreakpointSite(BreakpointSite *bp_site)
StateType
Process and Thread States.
static std::string StopReasonAsString(lldb::StopReason reason)
lldb::StopInfoSP GetPrivateStopInfo()
virtual lldb::RegisterContextSP GetRegisterContext()=0
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.
~ThreadPlanStepOverBreakpoint() override
virtual Status DisableBreakpointSite(BreakpointSite *bp_site)