39 const lldb::BreakpointLocationSP &break_loc_sp)
40 : m_opaque_wp(break_loc_sp) {
45 : m_opaque_wp(rhs.m_opaque_wp) {
65 return this->
operator bool();
67SBBreakpointLocation::operator bool()
const {
76 BreakpointLocationSP loc_sp =
GetSP();
88 BreakpointLocationSP loc_sp =
GetSP();
91 std::lock_guard<std::recursive_mutex> guard(
92 loc_sp->GetTarget().GetAPIMutex());
93 ret_addr = loc_sp->GetLoadAddress();
102 BreakpointLocationSP loc_sp =
GetSP();
104 std::lock_guard<std::recursive_mutex> guard(
105 loc_sp->GetTarget().GetAPIMutex());
106 loc_sp->SetEnabled(enabled);
113 BreakpointLocationSP loc_sp =
GetSP();
115 std::lock_guard<std::recursive_mutex> guard(
116 loc_sp->GetTarget().GetAPIMutex());
117 return loc_sp->IsEnabled();
125 BreakpointLocationSP loc_sp =
GetSP();
127 std::lock_guard<std::recursive_mutex> guard(
128 loc_sp->GetTarget().GetAPIMutex());
129 return loc_sp->GetHitCount();
137 BreakpointLocationSP loc_sp =
GetSP();
139 std::lock_guard<std::recursive_mutex> guard(
140 loc_sp->GetTarget().GetAPIMutex());
141 return loc_sp->GetIgnoreCount();
149 BreakpointLocationSP loc_sp =
GetSP();
151 std::lock_guard<std::recursive_mutex> guard(
152 loc_sp->GetTarget().GetAPIMutex());
153 loc_sp->SetIgnoreCount(n);
160 BreakpointLocationSP loc_sp =
GetSP();
162 std::lock_guard<std::recursive_mutex> guard(
163 loc_sp->GetTarget().GetAPIMutex());
164 loc_sp->SetCondition(condition);
171 BreakpointLocationSP loc_sp =
GetSP();
175 std::lock_guard<std::recursive_mutex> guard(
176 loc_sp->GetTarget().GetAPIMutex());
183 BreakpointLocationSP loc_sp =
GetSP();
185 std::lock_guard<std::recursive_mutex> guard(
186 loc_sp->GetTarget().GetAPIMutex());
187 loc_sp->SetAutoContinue(auto_continue);
194 BreakpointLocationSP loc_sp =
GetSP();
196 std::lock_guard<std::recursive_mutex> guard(
197 loc_sp->GetTarget().GetAPIMutex());
198 return loc_sp->IsAutoContinue();
207 BreakpointLocationSP loc_sp =
GetSP();
210 std::lock_guard<std::recursive_mutex> guard(
211 loc_sp->GetTarget().GetAPIMutex());
219 const char *callback_function_name) {
224 const char *callback_function_name,
228 BreakpointLocationSP loc_sp =
GetSP();
232 std::lock_guard<std::recursive_mutex> guard(
233 loc_sp->GetTarget().GetAPIMutex());
235 error = loc_sp->GetBreakpoint()
238 .GetScriptInterpreter()
239 ->SetBreakpointCommandCallbackFunction(bp_options,
240 callback_function_name,
254 BreakpointLocationSP loc_sp =
GetSP();
258 std::lock_guard<std::recursive_mutex> guard(
259 loc_sp->GetTarget().GetAPIMutex());
262 loc_sp->GetBreakpoint()
265 .GetScriptInterpreter()
266 ->SetBreakpointCommandCallback(bp_options, callback_body_text,
278 BreakpointLocationSP loc_sp =
GetSP();
284 std::lock_guard<std::recursive_mutex> guard(
285 loc_sp->GetTarget().GetAPIMutex());
286 std::unique_ptr<BreakpointOptions::CommandData> cmd_data_up(
289 loc_sp->GetLocationOptions().SetCommandDataCallback(cmd_data_up);
295 BreakpointLocationSP loc_sp =
GetSP();
300 loc_sp->GetLocationOptions().GetCommandLineCallbacks(command_list);
309 BreakpointLocationSP loc_sp =
GetSP();
311 std::lock_guard<std::recursive_mutex> guard(
312 loc_sp->GetTarget().GetAPIMutex());
313 loc_sp->SetThreadID(thread_id);
321 BreakpointLocationSP loc_sp =
GetSP();
323 std::lock_guard<std::recursive_mutex> guard(
324 loc_sp->GetTarget().GetAPIMutex());
325 return loc_sp->GetThreadID();
333 BreakpointLocationSP loc_sp =
GetSP();
335 std::lock_guard<std::recursive_mutex> guard(
336 loc_sp->GetTarget().GetAPIMutex());
337 loc_sp->SetThreadIndex(index);
345 BreakpointLocationSP loc_sp =
GetSP();
347 std::lock_guard<std::recursive_mutex> guard(
348 loc_sp->GetTarget().GetAPIMutex());
349 return loc_sp->GetThreadIndex();
357 BreakpointLocationSP loc_sp =
GetSP();
359 std::lock_guard<std::recursive_mutex> guard(
360 loc_sp->GetTarget().GetAPIMutex());
361 loc_sp->SetThreadName(thread_name);
368 BreakpointLocationSP loc_sp =
GetSP();
372 std::lock_guard<std::recursive_mutex> guard(
373 loc_sp->GetTarget().GetAPIMutex());
380 BreakpointLocationSP loc_sp =
GetSP();
382 std::lock_guard<std::recursive_mutex> guard(
383 loc_sp->GetTarget().GetAPIMutex());
384 loc_sp->SetQueueName(queue_name);
391 BreakpointLocationSP loc_sp =
GetSP();
395 std::lock_guard<std::recursive_mutex> guard(
396 loc_sp->GetTarget().GetAPIMutex());
403 BreakpointLocationSP loc_sp =
GetSP();
405 std::lock_guard<std::recursive_mutex> guard(
406 loc_sp->GetTarget().GetAPIMutex());
407 return loc_sp->IsResolved();
413 const lldb::BreakpointLocationSP &break_loc_sp) {
423 BreakpointLocationSP loc_sp =
GetSP();
426 std::lock_guard<std::recursive_mutex> guard(
427 loc_sp->GetTarget().GetAPIMutex());
428 loc_sp->GetDescription(&strm, level);
439 BreakpointLocationSP loc_sp =
GetSP();
441 std::lock_guard<std::recursive_mutex> guard(
442 loc_sp->GetTarget().GetAPIMutex());
443 return loc_sp->GetID();
451 BreakpointLocationSP loc_sp =
GetSP();
455 std::lock_guard<std::recursive_mutex> guard(
456 loc_sp->GetTarget().GetAPIMutex());
457 sb_bp = loc_sp->GetBreakpoint().shared_from_this();
static llvm::raw_ostream & error(Stream &strm)
#define LLDB_INSTRUMENT_VA(...)
static bool PrivateBreakpointHitCallback(void *baton, lldb_private::StoppointCallbackContext *ctx, lldb::user_id_t break_id, lldb::user_id_t break_loc_id)
void SetCondition(const char *condition)
void SetEnabled(bool enabled)
void SetCallback(SBBreakpointHitCallback callback, void *baton)
lldb::tid_t GetThreadID()
friend class SBBreakpointCallbackBaton
void SetQueueName(const char *queue_name)
const char * GetThreadName() const
bool GetCommandLineCommands(lldb::SBStringList &commands)
lldb::SBAddress GetAddress()
void SetLocation(const lldb::BreakpointLocationSP &break_loc_sp)
void SetIgnoreCount(uint32_t n)
void SetScriptCallbackFunction(const char *callback_function_name)
lldb::BreakpointLocationWP m_opaque_wp
uint32_t GetIgnoreCount()
void SetCommandLineCommands(lldb::SBStringList &commands)
SBError SetScriptCallbackBody(const char *script_body_text)
lldb::addr_t GetLoadAddress()
bool GetDescription(lldb::SBStream &description, DescriptionLevel level)
const lldb::SBBreakpointLocation & operator=(const lldb::SBBreakpointLocation &rhs)
void SetThreadID(lldb::tid_t sb_thread_id)
const char * GetQueueName() const
uint32_t GetThreadIndex() const
void SetAutoContinue(bool auto_continue)
void SetThreadIndex(uint32_t index)
SBBreakpoint GetBreakpoint()
BreakpointLocationSP GetSP() const
const char * GetCondition()
void SetThreadName(const char *thread_name)
void SetErrorString(const char *err_str)
void SetError(uint32_t err, lldb::ErrorType type)
lldb_private::Stream & ref()
void AppendList(const char **strv, int strc)
StructuredDataImplUP m_impl_up
"lldb/Breakpoint/BreakpointOptions.h" Class that manages the options on a breakpoint or breakpoint lo...
A uniqued constant string class.
const char * GetCString() const
Get the string value as a C string.
A stream class that can stream formatted output to a file.
size_t PutCString(llvm::StringRef cstr)
Output a C string to the stream.
size_t EOL()
Output and End of Line character to the stream.
#define LLDB_INVALID_BREAK_ID
#define LLDB_INVALID_THREAD_ID
#define LLDB_INVALID_ADDRESS
A class that represents a running process on the host machine.
DescriptionLevel
Description levels for "void GetDescription(Stream *, DescriptionLevel)" calls.
bool(* SBBreakpointHitCallback)(void *baton, SBProcess &process, SBThread &thread, lldb::SBBreakpointLocation &location)