| //===-- SBBreakpoint.h ------------------------------------------*- C++ -*-===// |
| // |
| // The LLVM Compiler Infrastructure |
| // |
| // This file is distributed under the University of Illinois Open Source |
| // License. See LICENSE.TXT for details. |
| // |
| //===----------------------------------------------------------------------===// |
| |
| #ifndef LLDB_SBBreakpoint_h_ |
| #define LLDB_SBBreakpoint_h_ |
| |
| #include "lldb/API/SBDefines.h" |
| |
| namespace lldb { |
| |
| class SBBreakpoint |
| { |
| public: |
| |
| typedef bool (*BreakpointHitCallback) (void *baton, |
| SBProcess &process, |
| SBThread &thread, |
| lldb::SBBreakpointLocation &location); |
| |
| SBBreakpoint (); |
| |
| SBBreakpoint (const lldb::SBBreakpoint& rhs); |
| |
| ~SBBreakpoint(); |
| |
| const lldb::SBBreakpoint & |
| operator = (const lldb::SBBreakpoint& rhs); |
| |
| // Tests to see if the opaque breakpoint object in this object matches the |
| // opaque breakpoint object in "rhs". |
| bool |
| operator == (const lldb::SBBreakpoint& rhs); |
| |
| bool |
| operator != (const lldb::SBBreakpoint& rhs); |
| |
| break_id_t |
| GetID () const; |
| |
| bool |
| IsValid() const; |
| |
| void |
| ClearAllBreakpointSites (); |
| |
| lldb::SBBreakpointLocation |
| FindLocationByAddress (lldb::addr_t vm_addr); |
| |
| lldb::break_id_t |
| FindLocationIDByAddress (lldb::addr_t vm_addr); |
| |
| lldb::SBBreakpointLocation |
| FindLocationByID (lldb::break_id_t bp_loc_id); |
| |
| lldb::SBBreakpointLocation |
| GetLocationAtIndex (uint32_t index); |
| |
| void |
| SetEnabled (bool enable); |
| |
| bool |
| IsEnabled (); |
| |
| void |
| SetOneShot (bool one_shot); |
| |
| bool |
| IsOneShot () const; |
| |
| bool |
| IsInternal (); |
| |
| uint32_t |
| GetHitCount () const; |
| |
| void |
| SetIgnoreCount (uint32_t count); |
| |
| uint32_t |
| GetIgnoreCount () const; |
| |
| void |
| SetCondition (const char *condition); |
| |
| const char * |
| GetCondition (); |
| |
| void |
| SetThreadID (lldb::tid_t sb_thread_id); |
| |
| lldb::tid_t |
| GetThreadID (); |
| |
| void |
| SetThreadIndex (uint32_t index); |
| |
| uint32_t |
| GetThreadIndex() const; |
| |
| void |
| SetThreadName (const char *thread_name); |
| |
| const char * |
| GetThreadName () const; |
| |
| void |
| SetQueueName (const char *queue_name); |
| |
| const char * |
| GetQueueName () const; |
| |
| void |
| SetCallback (BreakpointHitCallback callback, void *baton); |
| |
| size_t |
| GetNumResolvedLocations() const; |
| |
| size_t |
| GetNumLocations() const; |
| |
| bool |
| GetDescription (lldb::SBStream &description); |
| |
| static bool |
| EventIsBreakpointEvent (const lldb::SBEvent &event); |
| |
| static lldb::BreakpointEventType |
| GetBreakpointEventTypeFromEvent (const lldb::SBEvent& event); |
| |
| static lldb::SBBreakpoint |
| GetBreakpointFromEvent (const lldb::SBEvent& event); |
| |
| static lldb::SBBreakpointLocation |
| GetBreakpointLocationAtIndexFromEvent (const lldb::SBEvent& event, uint32_t loc_idx); |
| |
| static uint32_t |
| GetNumBreakpointLocationsFromEvent (const lldb::SBEvent &event_sp); |
| |
| |
| private: |
| friend class SBBreakpointLocation; |
| friend class SBTarget; |
| |
| SBBreakpoint (const lldb::BreakpointSP &bp_sp); |
| |
| lldb_private::Breakpoint * |
| operator->() const; |
| |
| lldb_private::Breakpoint * |
| get() const; |
| |
| lldb::BreakpointSP & |
| operator *(); |
| |
| const lldb::BreakpointSP & |
| operator *() const; |
| |
| static bool |
| PrivateBreakpointHitCallback (void *baton, |
| lldb_private::StoppointCallbackContext *context, |
| lldb::user_id_t break_id, |
| lldb::user_id_t break_loc_id); |
| |
| lldb::BreakpointSP m_opaque_sp; |
| }; |
| |
| } // namespace lldb |
| |
| #endif // LLDB_SBBreakpoint_h_ |