LLDB API Documentation

SBBreakpoint.h
Go to the documentation of this file.
1 //===-- SBBreakpoint.h ------------------------------------------*- C++ -*-===//
2 //
3 // The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 
10 #ifndef LLDB_SBBreakpoint_h_
11 #define LLDB_SBBreakpoint_h_
12 
13 #include "lldb/API/SBDefines.h"
14 
15 namespace lldb {
16 
18 {
19 public:
20 
21  typedef bool (*BreakpointHitCallback) (void *baton,
22  SBProcess &process,
23  SBThread &thread,
24  lldb::SBBreakpointLocation &location);
25 
26  SBBreakpoint ();
27 
28  SBBreakpoint (const lldb::SBBreakpoint& rhs);
29 
30  ~SBBreakpoint();
31 
32  const lldb::SBBreakpoint &
33  operator = (const lldb::SBBreakpoint& rhs);
34 
35  // Tests to see if the opaque breakpoint object in this object matches the
36  // opaque breakpoint object in "rhs".
37  bool
38  operator == (const lldb::SBBreakpoint& rhs);
39 
40  bool
41  operator != (const lldb::SBBreakpoint& rhs);
42 
43  break_id_t
44  GetID () const;
45 
46  bool
47  IsValid() const;
48 
49  void
51 
53  FindLocationByAddress (lldb::addr_t vm_addr);
54 
55  lldb::break_id_t
56  FindLocationIDByAddress (lldb::addr_t vm_addr);
57 
59  FindLocationByID (lldb::break_id_t bp_loc_id);
60 
62  GetLocationAtIndex (uint32_t index);
63 
64  void
65  SetEnabled (bool enable);
66 
67  bool
68  IsEnabled ();
69 
70  void
71  SetOneShot (bool one_shot);
72 
73  bool
74  IsOneShot () const;
75 
76  bool
77  IsInternal ();
78 
79  uint32_t
80  GetHitCount () const;
81 
82  void
83  SetIgnoreCount (uint32_t count);
84 
85  uint32_t
86  GetIgnoreCount () const;
87 
88  void
89  SetCondition (const char *condition);
90 
91  const char *
92  GetCondition ();
93 
94  void
95  SetThreadID (lldb::tid_t sb_thread_id);
96 
97  lldb::tid_t
98  GetThreadID ();
99 
100  void
101  SetThreadIndex (uint32_t index);
102 
103  uint32_t
104  GetThreadIndex() const;
105 
106  void
107  SetThreadName (const char *thread_name);
108 
109  const char *
110  GetThreadName () const;
111 
112  void
113  SetQueueName (const char *queue_name);
114 
115  const char *
116  GetQueueName () const;
117 
118  void
119  SetCallback (BreakpointHitCallback callback, void *baton);
120 
121  size_t
122  GetNumResolvedLocations() const;
123 
124  size_t
125  GetNumLocations() const;
126 
127  bool
128  GetDescription (lldb::SBStream &description);
129 
130  static bool
131  EventIsBreakpointEvent (const lldb::SBEvent &event);
132 
133  static lldb::BreakpointEventType
135 
136  static lldb::SBBreakpoint
137  GetBreakpointFromEvent (const lldb::SBEvent& event);
138 
140  GetBreakpointLocationAtIndexFromEvent (const lldb::SBEvent& event, uint32_t loc_idx);
141 
142  static uint32_t
144 
145 
146 private:
147  friend class SBBreakpointLocation;
148  friend class SBTarget;
149 
150  SBBreakpoint (const lldb::BreakpointSP &bp_sp);
151 
152  lldb_private::Breakpoint *
153  operator->() const;
154 
155  lldb_private::Breakpoint *
156  get() const;
157 
158  lldb::BreakpointSP &
159  operator *();
160 
161  const lldb::BreakpointSP &
162  operator *() const;
163 
164  static bool
165  PrivateBreakpointHitCallback (void *baton,
166  lldb_private::StoppointCallbackContext *context,
167  lldb::user_id_t break_id,
168  lldb::user_id_t break_loc_id);
169 
170  lldb::BreakpointSP m_opaque_sp;
171 };
172 
173 } // namespace lldb
174 
175 #endif // LLDB_SBBreakpoint_h_