LLDB  mainline
ThreadPlanStepOverBreakpoint.h
Go to the documentation of this file.
1 //===-- ThreadPlanStepOverBreakpoint.h --------------------------*- C++ -*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #ifndef LLDB_TARGET_THREADPLANSTEPOVERBREAKPOINT_H
10 #define LLDB_TARGET_THREADPLANSTEPOVERBREAKPOINT_H
11 
12 #include "lldb/Target/Thread.h"
13 #include "lldb/Target/ThreadPlan.h"
14 
15 namespace lldb_private {
16 
18 public:
20 
22 
23  void GetDescription(Stream *s, lldb::DescriptionLevel level) override;
24  bool ValidatePlan(Stream *error) override;
25  bool ShouldStop(Event *event_ptr) override;
26  bool StopOthers() override;
28  bool WillStop() override;
29  void DidPop() override;
30  bool MischiefManaged() override;
31  void ThreadDestroyed() override;
32  void SetAutoContinue(bool do_it);
33  bool ShouldAutoContinue(Event *event_ptr) override;
34  bool IsPlanStale() override;
35 
37 
38 protected:
39  bool DoPlanExplainsStop(Event *event_ptr) override;
40  bool DoWillResume(lldb::StateType resume_state, bool current_plan) override;
41 
43 
44 private:
49 
52  operator=(const ThreadPlanStepOverBreakpoint &) = delete;
53 };
54 
55 } // namespace lldb_private
56 
57 #endif // LLDB_TARGET_THREADPLANSTEPOVERBREAKPOINT_H
lldb_private::ThreadPlanStepOverBreakpoint::ReenableBreakpointSite
void ReenableBreakpointSite()
Definition: ThreadPlanStepOverBreakpoint.cpp:147
lldb_private::Event
Definition: Event.h:180
lldb_private::ThreadPlanStepOverBreakpoint::m_auto_continue
bool m_auto_continue
Definition: ThreadPlanStepOverBreakpoint.h:47
lldb_private::ThreadPlanStepOverBreakpoint::ThreadDestroyed
void ThreadDestroyed() override
Definition: ThreadPlanStepOverBreakpoint.cpp:157
lldb_private::ThreadPlanStepOverBreakpoint::IsPlanStale
bool IsPlanStale() override
Definition: ThreadPlanStepOverBreakpoint.cpp:169
lldb_private::ThreadPlanStepOverBreakpoint::GetDescription
void GetDescription(Stream *s, lldb::DescriptionLevel level) override
Print a description of this thread to the stream s.
Definition: ThreadPlanStepOverBreakpoint.cpp:41
lldb_private::Stream
Definition: Stream.h:28
lldb::addr_t
uint64_t addr_t
Definition: lldb-types.h:83
lldb_private::ThreadPlanStepOverBreakpoint::StopOthers
bool StopOthers() override
Definition: ThreadPlanStepOverBreakpoint.cpp:103
lldb_private::ThreadPlanStepOverBreakpoint::GetBreakpointLoadAddress
lldb::addr_t GetBreakpointLoadAddress() const
Definition: ThreadPlanStepOverBreakpoint.h:36
error
static llvm::raw_ostream & error(Stream &strm)
Definition: CommandReturnObject.cpp:17
lldb_private::ThreadPlan
Definition: ThreadPlan.h:282
lldb_private::Thread
Definition: Thread.h:60
lldb_private::ThreadPlanStepOverBreakpoint::ShouldAutoContinue
bool ShouldAutoContinue(Event *event_ptr) override
Returns whether this thread plan overrides the ShouldStop of subsequently processed plans.
Definition: ThreadPlanStepOverBreakpoint.cpp:165
lldb_private::ThreadPlanStepOverBreakpoint::m_breakpoint_site_id
lldb::user_id_t m_breakpoint_site_id
Definition: ThreadPlanStepOverBreakpoint.h:46
Thread.h
lldb_private::ThreadPlanStepOverBreakpoint::DoWillResume
bool DoWillResume(lldb::StateType resume_state, bool current_plan) override
Definition: ThreadPlanStepOverBreakpoint.cpp:109
lldb_private::ThreadPlanStepOverBreakpoint::ValidatePlan
bool ValidatePlan(Stream *error) override
Returns whether this plan could be successfully created.
Definition: ThreadPlanStepOverBreakpoint.cpp:47
ThreadPlan.h
lldb_private::ThreadPlanStepOverBreakpoint::m_breakpoint_addr
lldb::addr_t m_breakpoint_addr
Definition: ThreadPlanStepOverBreakpoint.h:45
lldb_private::ThreadPlanStepOverBreakpoint::DidPop
void DidPop() override
Definition: ThreadPlanStepOverBreakpoint.cpp:127
lldb_private::ThreadPlanStepOverBreakpoint::ShouldStop
bool ShouldStop(Event *event_ptr) override
Definition: ThreadPlanStepOverBreakpoint.cpp:99
lldb_private::ThreadPlanStepOverBreakpoint::GetPlanRunState
lldb::StateType GetPlanRunState() override
Definition: ThreadPlanStepOverBreakpoint.cpp:105
lldb_private::ThreadPlanStepOverBreakpoint::WillStop
bool WillStop() override
Definition: ThreadPlanStepOverBreakpoint.cpp:122
lldb_private::ThreadPlanStepOverBreakpoint::SetAutoContinue
void SetAutoContinue(bool do_it)
Definition: ThreadPlanStepOverBreakpoint.cpp:161
lldb_private::ThreadPlanStepOverBreakpoint::MischiefManaged
bool MischiefManaged() override
Definition: ThreadPlanStepOverBreakpoint.cpp:129
lldb_private::ThreadPlanStepOverBreakpoint::DoPlanExplainsStop
bool DoPlanExplainsStop(Event *event_ptr) override
Definition: ThreadPlanStepOverBreakpoint.cpp:49
lldb_private::ThreadPlanStepOverBreakpoint::operator=
const ThreadPlanStepOverBreakpoint & operator=(const ThreadPlanStepOverBreakpoint &)=delete
lldb_private::ThreadPlanStepOverBreakpoint::m_reenabled_breakpoint_site
bool m_reenabled_breakpoint_site
Definition: ThreadPlanStepOverBreakpoint.h:48
lldb::user_id_t
uint64_t user_id_t
Definition: lldb-types.h:84
lldb_private
A class that represents a running process on the host machine.
Definition: SBCommandInterpreterRunOptions.h:16
lldb_private::ThreadPlanStepOverBreakpoint
Definition: ThreadPlanStepOverBreakpoint.h:17
lldb::StateType
StateType
Process and Thread States.
Definition: lldb-enumerations.h:73
lldb_private::ThreadPlanStepOverBreakpoint::ThreadPlanStepOverBreakpoint
ThreadPlanStepOverBreakpoint(Thread &thread)
Definition: ThreadPlanStepOverBreakpoint.cpp:22
lldb::DescriptionLevel
DescriptionLevel
Description levels for "void GetDescription(Stream *, DescriptionLevel)" calls.
Definition: lldb-enumerations.h:207
lldb_private::ThreadPlanStepOverBreakpoint::~ThreadPlanStepOverBreakpoint
~ThreadPlanStepOverBreakpoint() override