10 #ifndef LLDB_SBBreakpoint_h_
11 #define LLDB_SBBreakpoint_h_
19 typedef bool (*BreakpointHitCallback)(
void *baton,
SBProcess &process,
37 break_id_t GetID()
const;
41 void ClearAllBreakpointSites();
45 lldb::break_id_t FindLocationIDByAddress(lldb::addr_t vm_addr);
51 void SetEnabled(
bool enable);
55 void SetOneShot(
bool one_shot);
57 bool IsOneShot()
const;
61 uint32_t GetHitCount()
const;
63 void SetIgnoreCount(uint32_t count);
65 uint32_t GetIgnoreCount()
const;
67 void SetCondition(
const char *condition);
69 const char *GetCondition();
71 void SetThreadID(lldb::tid_t sb_thread_id);
73 lldb::tid_t GetThreadID();
75 void SetThreadIndex(uint32_t index);
77 uint32_t GetThreadIndex()
const;
79 void SetThreadName(
const char *thread_name);
81 const char *GetThreadName()
const;
83 void SetQueueName(
const char *queue_name);
85 const char *GetQueueName()
const;
87 void SetCallback(BreakpointHitCallback callback,
void *baton);
89 void SetScriptCallbackFunction(
const char *callback_function_name);
95 SBError SetScriptCallbackBody(
const char *script_body_text);
97 bool AddName(
const char *new_name);
99 void RemoveName(
const char *name_to_remove);
101 bool MatchesName(
const char *name);
105 size_t GetNumResolvedLocations()
const;
107 size_t GetNumLocations()
const;
111 bool GetDescription(
lldb::SBStream &description,
bool include_locations);
113 static bool EventIsBreakpointEvent(
const lldb::SBEvent &event);
115 static lldb::BreakpointEventType
121 GetBreakpointLocationAtIndexFromEvent(
const lldb::SBEvent &event,
125 GetNumBreakpointLocationsFromEvent(
const lldb::SBEvent &event_sp);
134 lldb_private::Breakpoint *operator->()
const;
136 lldb_private::Breakpoint *
get()
const;
138 lldb::BreakpointSP &operator*();
140 const lldb::BreakpointSP &operator*()
const;
142 static bool PrivateBreakpointHitCallback(
143 void *baton, lldb_private::StoppointCallbackContext *context,
144 lldb::user_id_t break_id, lldb::user_id_t break_loc_id);
146 lldb::BreakpointSP m_opaque_sp;
149 class SBBreakpointListImpl;
157 size_t GetSize()
const;
167 void AppendByID(lldb::break_id_t
id);
174 void CopyToBreakpointIDList(lldb_private::BreakpointIDList &bp_id_list);
177 std::shared_ptr<SBBreakpointListImpl> m_opaque_sp;
182 #endif // LLDB_SBBreakpoint_h_
class LLDB_API SBBreakpoint