LLDB mainline
|
#include <StopPointSiteList.h>
Public Types | |
using | StopPointSiteSP = std::shared_ptr< StopPointSite > |
typedef void(* | StopPointSiteSPMapFunc) (StopPointSite &site, void *baton) |
Public Member Functions | |
StopPointSite::SiteID | Add (const StopPointSiteSP &site_sp) |
Add a site to the list. | |
void | Dump (Stream *s) const |
Standard Dump routine, doesn't do anything at present. | |
StopPointSiteSP | FindByAddress (lldb::addr_t addr) |
Returns a shared pointer to the site at address addr. | |
StopPointSiteSP | FindByID (typename StopPointSite::SiteID site_id) |
Returns a shared pointer to the site with id site_id. | |
const StopPointSiteSP | FindByID (typename StopPointSite::SiteID site_id) const |
Returns a shared pointer to the site with id site_id - const version. | |
StopPointSite::SiteID | FindIDByAddress (lldb::addr_t addr) |
Returns the site id to the site at address addr. | |
bool | StopPointSiteContainsBreakpoint (typename StopPointSite::SiteID, lldb::break_id_t bp_id) |
Returns whether the BreakpointSite site_id has a BreakpointLocation that is part of Breakpoint bp_id. | |
void | ForEach (std::function< void(StopPointSite *)> const &callback) |
bool | Remove (typename StopPointSite::SiteID site_id) |
Removes the site given by site_id from this list. | |
bool | RemoveByAddress (lldb::addr_t addr) |
Removes the site at address addr from this list. | |
bool | FindInRange (lldb::addr_t lower_bound, lldb::addr_t upper_bound, StopPointSiteList &bp_site_list) const |
bool | ShouldStop (StoppointCallbackContext *context, typename StopPointSite::SiteID site_id) |
Enquires of the site on in this list with ID site_id whether we should stop for the constituent or not. | |
size_t | GetSize () const |
Returns the number of elements in the list. | |
bool | IsEmpty () const |
std::vector< StopPointSiteSP > | Sites () |
void | Clear () |
Protected Types | |
typedef std::map< lldb::addr_t, StopPointSiteSP > | collection |
Protected Member Functions | |
collection::iterator | GetIDIterator (typename StopPointSite::SiteID site_id) |
collection::const_iterator | GetIDConstIterator (typename StopPointSite::SiteID site_id) const |
Protected Attributes | |
std::recursive_mutex | m_mutex |
collection | m_site_list |
Friends | |
class | Process |
Definition at line 22 of file StopPointSiteList.h.
|
protected |
Definition at line 272 of file StopPointSiteList.h.
using lldb_private::StopPointSiteList< StopPointSite >::StopPointSiteSP = std::shared_ptr<StopPointSite> |
Definition at line 29 of file StopPointSiteList.h.
typedef void(* lldb_private::StopPointSiteList< StopPointSite >::StopPointSiteSPMapFunc) (StopPointSite &site, void *baton) |
Definition at line 214 of file StopPointSiteList.h.
|
inline |
Add a site to the list.
[in] | site_sp | A shared pointer to a site being added to the list. |
Definition at line 38 of file StopPointSiteList.h.
References lldb_private::StopPointSiteList< StopPointSite >::m_mutex, lldb_private::StopPointSiteList< StopPointSite >::m_site_list, and UINT32_MAX.
Referenced by lldb_private::Process::CreateBreakpointSite(), lldb_private::process_gdb_remote::ProcessGDBRemote::EnableWatchpoint(), and lldb_private::StopPointSiteList< StopPointSite >::FindInRange().
|
inline |
Definition at line 266 of file StopPointSiteList.h.
References lldb_private::StopPointSiteList< StopPointSite >::m_mutex, and lldb_private::StopPointSiteList< StopPointSite >::m_site_list.
Referenced by lldb_private::Process::Finalize().
|
inline |
Standard Dump routine, doesn't do anything at present.
[in] | s | Stream into which to dump the description. |
Definition at line 50 of file StopPointSiteList.h.
References lldb_private::Stream::IndentLess(), lldb_private::Stream::IndentMore(), lldb_private::StopPointSiteList< StopPointSite >::m_site_list, and lldb_private::Stream::Printf().
|
inline |
Returns a shared pointer to the site at address addr.
[in] | addr | The address to look for. |
Definition at line 70 of file StopPointSiteList.h.
References lldb_private::StopPointSiteList< StopPointSite >::m_mutex, and lldb_private::StopPointSiteList< StopPointSite >::m_site_list.
Referenced by lldb_private::Process::CreateBreakpointSite(), lldb_private::ThreadPlanStepOverBreakpoint::DoWillResume(), lldb_private::StopPointSiteList< StopPointSite >::FindIDByAddress(), lldb_private::ThreadPlanStepOverBreakpoint::ReenableBreakpointSite(), and lldb_private::process_gdb_remote::ProcessGDBRemote::SetThreadStopInfo().
|
inline |
Returns a shared pointer to the site with id site_id.
[in] | site_id | The site ID to seek for. |
Definition at line 86 of file StopPointSiteList.h.
References lldb_private::StopPointSiteList< StopPointSite >::GetIDIterator(), lldb_private::StopPointSiteList< StopPointSite >::m_mutex, and lldb_private::StopPointSiteList< StopPointSite >::m_site_list.
Referenced by lldb_private::ThreadPlanStepUntil::AnalyzeStop(), lldb_private::Process::DisableBreakpointSiteByID(), CommandObjectProcessContinue::DoExecute(), lldb_private::ThreadPlanCallFunction::DoPlanExplainsStop(), lldb_private::ThreadPlanStepOut::DoPlanExplainsStop(), lldb_private::Process::EnableBreakpointSiteByID(), lldb::SBThread::GetStopReasonDataAtIndex(), lldb::SBThread::GetStopReasonDataCount(), lldb_private::ThreadPlanStepThrough::HitOurBackstopBreakpoint(), lldb_private::ThreadPlanStepRange::IsNextBranchBreakpointStop(), lldb_private::ThreadPlanStepRange::NextRangeBreakpointExplainsStop(), and lldb_private::StopPointSiteList< StopPointSite >::ShouldStop().
|
inline |
Returns a shared pointer to the site with id site_id - const version.
[in] | site_id | The site ID to seek for. |
Definition at line 104 of file StopPointSiteList.h.
References lldb_private::StopPointSiteList< StopPointSite >::GetIDConstIterator(), lldb_private::StopPointSiteList< StopPointSite >::m_mutex, and lldb_private::StopPointSiteList< StopPointSite >::m_site_list.
|
inline |
Returns the site id to the site at address addr.
[in] | addr | The address to match. |
Definition at line 121 of file StopPointSiteList.h.
References lldb_private::StopPointSiteList< StopPointSite >::FindByAddress(), and UINT32_MAX.
|
inline |
Definition at line 185 of file StopPointSiteList.h.
References lldb_private::StopPointSiteList< StopPointSite >::Add(), lldb_private::StopPointSiteList< StopPointSite >::m_mutex, and lldb_private::StopPointSiteList< StopPointSite >::m_site_list.
Referenced by lldb_private::Process::RemoveBreakpointOpcodesFromBuffer(), and lldb_private::Process::WriteMemory().
|
inline |
Definition at line 145 of file StopPointSiteList.h.
References lldb_private::StopPointSiteList< StopPointSite >::m_mutex, and lldb_private::StopPointSiteList< StopPointSite >::m_site_list.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::DidForkSwitchHardwareTraps(), lldb_private::process_gdb_remote::ProcessGDBRemote::DidForkSwitchSoftwareBreakpoints(), lldb_private::Process::DisableAllBreakpointSites(), lldb_private::Process::RemoveBreakpointOpcodesFromBuffer(), and lldb_private::Process::WriteMemory().
|
inlineprotected |
Definition at line 287 of file StopPointSiteList.h.
References lldb_private::StopPointSiteList< StopPointSite >::m_mutex, and lldb_private::StopPointSiteList< StopPointSite >::m_site_list.
Referenced by lldb_private::StopPointSiteList< StopPointSite >::FindByID().
|
inlineprotected |
Definition at line 275 of file StopPointSiteList.h.
References lldb_private::StopPointSiteList< StopPointSite >::m_mutex, and lldb_private::StopPointSiteList< StopPointSite >::m_site_list.
Referenced by lldb_private::StopPointSiteList< StopPointSite >::FindByID(), and lldb_private::StopPointSiteList< StopPointSite >::Remove().
|
inline |
Returns the number of elements in the list.
Definition at line 244 of file StopPointSiteList.h.
References lldb_private::StopPointSiteList< StopPointSite >::m_mutex, and lldb_private::StopPointSiteList< StopPointSite >::m_site_list.
|
inline |
Definition at line 249 of file StopPointSiteList.h.
References lldb_private::StopPointSiteList< StopPointSite >::m_mutex, and lldb_private::StopPointSiteList< StopPointSite >::m_site_list.
Referenced by lldb_private::Process::WriteMemory().
|
inline |
Removes the site given by site_id from this list.
[in] | site_id | The site ID to remove. |
Definition at line 158 of file StopPointSiteList.h.
References lldb_private::StopPointSiteList< StopPointSite >::GetIDIterator(), lldb_private::StopPointSiteList< StopPointSite >::m_mutex, and lldb_private::StopPointSiteList< StopPointSite >::m_site_list.
Referenced by lldb_private::Process::ClearBreakpointSiteByID(), and lldb_private::process_gdb_remote::ProcessGDBRemote::DisableWatchpoint().
|
inline |
Removes the site at address addr from this list.
[in] | addr | The address from which to remove a site. |
Definition at line 175 of file StopPointSiteList.h.
References lldb_private::StopPointSiteList< StopPointSite >::m_mutex, and lldb_private::StopPointSiteList< StopPointSite >::m_site_list.
Referenced by lldb_private::Process::RemoveConstituentFromBreakpointSite().
|
inline |
Enquires of the site on in this list with ID site_id whether we should stop for the constituent or not.
[in] | context | This contains the information about this stop. |
[in] | site_id | This site ID that we hit. |
Definition at line 227 of file StopPointSiteList.h.
References lldb_private::StopPointSiteList< StopPointSite >::FindByID().
|
inline |
Definition at line 254 of file StopPointSiteList.h.
References lldb_private::StopPointSiteList< StopPointSite >::m_mutex, and lldb_private::StopPointSiteList< StopPointSite >::m_site_list.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::DidForkSwitchHardwareTraps(), and lldb_private::process_gdb_remote::ProcessGDBRemote::DisableWatchpoint().
bool lldb_private::StopPointSiteList< StopPointSite >::StopPointSiteContainsBreakpoint | ( | typename StopPointSite::SiteID | , |
lldb::break_id_t | bp_id | ||
) |
Returns whether the BreakpointSite site_id has a BreakpointLocation that is part of Breakpoint bp_id.
NB this is only defined when StopPointSiteList is specialized for BreakpointSite's.
[in] | site_id | The site id to query. |
[in] | bp_id | The breakpoint id to look for in site_id's BreakpointLocations. |
Referenced by lldb_private::ItaniumABILanguageRuntime::ExceptionBreakpointsExplainStop(), and lldb_private::AppleObjCRuntime::ExceptionBreakpointsExplainStop().
|
friend |
Definition at line 26 of file StopPointSiteList.h.
|
mutableprotected |
Definition at line 298 of file StopPointSiteList.h.
Referenced by lldb_private::StopPointSiteList< StopPointSite >::Add(), lldb_private::StopPointSiteList< StopPointSite >::Clear(), lldb_private::StopPointSiteList< StopPointSite >::FindByAddress(), lldb_private::StopPointSiteList< StopPointSite >::FindByID(), lldb_private::StopPointSiteList< StopPointSite >::FindInRange(), lldb_private::StopPointSiteList< StopPointSite >::ForEach(), lldb_private::StopPointSiteList< StopPointSite >::GetIDConstIterator(), lldb_private::StopPointSiteList< StopPointSite >::GetIDIterator(), lldb_private::StopPointSiteList< StopPointSite >::GetSize(), lldb_private::StopPointSiteList< StopPointSite >::IsEmpty(), lldb_private::StopPointSiteList< StopPointSite >::Remove(), lldb_private::StopPointSiteList< StopPointSite >::RemoveByAddress(), and lldb_private::StopPointSiteList< StopPointSite >::Sites().
|
protected |
Definition at line 299 of file StopPointSiteList.h.
Referenced by lldb_private::StopPointSiteList< StopPointSite >::Add(), lldb_private::StopPointSiteList< StopPointSite >::Clear(), lldb_private::StopPointSiteList< StopPointSite >::Dump(), lldb_private::StopPointSiteList< StopPointSite >::FindByAddress(), lldb_private::StopPointSiteList< StopPointSite >::FindByID(), lldb_private::StopPointSiteList< StopPointSite >::FindInRange(), lldb_private::StopPointSiteList< StopPointSite >::ForEach(), lldb_private::StopPointSiteList< StopPointSite >::GetIDConstIterator(), lldb_private::StopPointSiteList< StopPointSite >::GetIDIterator(), lldb_private::StopPointSiteList< StopPointSite >::GetSize(), lldb_private::StopPointSiteList< StopPointSite >::IsEmpty(), lldb_private::StopPointSiteList< StopPointSite >::Remove(), lldb_private::StopPointSiteList< StopPointSite >::RemoveByAddress(), and lldb_private::StopPointSiteList< StopPointSite >::Sites().