diff options
Diffstat (limited to 'lldb/source/API')
-rw-r--r-- | lldb/source/API/SBBreakpoint.cpp | 37 | ||||
-rw-r--r-- | lldb/source/API/SBTarget.cpp | 34 |
2 files changed, 52 insertions, 19 deletions
diff --git a/lldb/source/API/SBBreakpoint.cpp b/lldb/source/API/SBBreakpoint.cpp index 4ab200c1bb1..f8c52ef0893 100644 --- a/lldb/source/API/SBBreakpoint.cpp +++ b/lldb/source/API/SBBreakpoint.cpp @@ -10,6 +10,7 @@ #include "lldb/API/SBBreakpoint.h" #include "lldb/API/SBBreakpointLocation.h" #include "lldb/API/SBDebugger.h" +#include "lldb/API/SBEvent.h" #include "lldb/API/SBProcess.h" #include "lldb/API/SBThread.h" @@ -242,6 +243,15 @@ SBBreakpoint::SetIgnoreCount (uint32_t count) } uint32_t +SBBreakpoint::GetHitCount () const +{ + if (m_opaque_sp) + return m_opaque_sp->GetHitCount(); + else + return 0; +} + +uint32_t SBBreakpoint::GetIgnoreCount () const { if (m_opaque_sp) @@ -457,3 +467,30 @@ SBBreakpoint::operator *() const return m_opaque_sp; } +BreakpointEventType +SBBreakpoint::GetBreakpointEventTypeFromEvent (const SBEvent& event) +{ + if (event.IsValid()) + return Breakpoint::BreakpointEventData::GetBreakpointEventTypeFromEvent (event.GetSP()); + return eBreakpointEventTypeInvalidType; +} + +SBBreakpoint +SBBreakpoint::GetBreakpointFromEvent (const lldb::SBEvent& event) +{ + SBBreakpoint sb_breakpoint; + if (event.IsValid()) + sb_breakpoint.m_opaque_sp = Breakpoint::BreakpointEventData::GetBreakpointFromEvent (event.GetSP()); + return sb_breakpoint; +} + +SBBreakpointLocation +SBBreakpoint::GetBreakpointLocationAtIndexFromEvent (const lldb::SBEvent& event, uint32_t loc_idx) +{ + SBBreakpointLocation sb_breakpoint_loc; + if (event.IsValid()) + sb_breakpoint_loc.SetLocation (Breakpoint::BreakpointEventData::GetBreakpointLocationAtIndexFromEvent (event.GetSP(), loc_idx)); + return sb_breakpoint_loc; +} + + diff --git a/lldb/source/API/SBTarget.cpp b/lldb/source/API/SBTarget.cpp index 86186434aee..85ec06ca7b5 100644 --- a/lldb/source/API/SBTarget.cpp +++ b/lldb/source/API/SBTarget.cpp @@ -277,36 +277,32 @@ SBTarget::BreakpointCreateByAddress (addr_t address) return sb_bp; } -void -SBTarget::ListAllBreakpoints () +SBBreakpoint +SBTarget::FindBreakpointByID (break_id_t bp_id) { - FILE *out_file = m_opaque_sp->GetDebugger().GetOutputFileHandle(); - - if (out_file == NULL) - return; + SBBreakpoint sb_breakpoint; + if (m_opaque_sp && bp_id != LLDB_INVALID_BREAK_ID) + *sb_breakpoint = m_opaque_sp->GetBreakpointByID (bp_id); + return sb_breakpoint; +} +uint32_t +SBTarget::GetNumBreakpoints () const +{ if (m_opaque_sp) - { - const BreakpointList &bp_list = m_opaque_sp->GetBreakpointList(); - size_t num_bps = bp_list.GetSize(); - for (size_t i = 0; i < num_bps; ++i) - { - SBBreakpoint sb_breakpoint (bp_list.GetBreakpointByIndex (i)); - sb_breakpoint.GetDescription (out_file, "full"); - } - } + return m_opaque_sp->GetBreakpointList().GetSize(); + return 0; } SBBreakpoint -SBTarget::FindBreakpointByID (break_id_t bp_id) +SBTarget::GetBreakpointAtIndex (uint32_t idx) const { SBBreakpoint sb_breakpoint; - if (m_opaque_sp && bp_id != LLDB_INVALID_BREAK_ID) - *sb_breakpoint = m_opaque_sp->GetBreakpointByID (bp_id); + if (m_opaque_sp) + *sb_breakpoint = m_opaque_sp->GetBreakpointList().GetBreakpointAtIndex(idx); return sb_breakpoint; } - bool SBTarget::BreakpointDelete (break_id_t bp_id) { |