LLDB API Documentation

- Main Page
- Namespaces
- Classes
- Files

- File List

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
17 class SBBreakpoint
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
50 ClearAllBreakpointSites ();
51
52 lldb::SBBreakpointLocation
53 FindLocationByAddress (lldb::addr_t vm_addr);
54
55 lldb::break_id_t
56 FindLocationIDByAddress (lldb::addr_t vm_addr);
57
58 lldb::SBBreakpointLocation
59 FindLocationByID (lldb::break_id_t bp_loc_id);
60
61 lldb::SBBreakpointLocation
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
134 GetBreakpointEventTypeFromEvent (const lldb::SBEvent& event);
135
136 static lldb::SBBreakpoint
137 GetBreakpointFromEvent (const lldb::SBEvent& event);
138
139 static lldb::SBBreakpointLocation
140 GetBreakpointLocationAtIndexFromEvent (const lldb::SBEvent& event, uint32_t loc_idx);
141
142 static uint32_t
143 GetNumBreakpointLocationsFromEvent (const lldb::SBEvent &event_sp);
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_