LLDB  mainline
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
lldb_private::BreakpointLocation Class Reference

General Outline: A breakpoint location is defined by the breakpoint that produces it, and the address that resulted in this particular instantiation. More...

#include <BreakpointLocation.h>

Inheritance diagram for lldb_private::BreakpointLocation:
Inheritance graph
[legend]
Collaboration diagram for lldb_private::BreakpointLocation:
Collaboration graph
[legend]

Public Member Functions

 ~BreakpointLocation () override
 
lldb::addr_t GetLoadAddress () const override
 Gets the load address for this breakpoint location. More...
 
AddressGetAddress ()
 Gets the Address for this breakpoint location. More...
 
BreakpointGetBreakpoint ()
 Gets the Breakpoint that created this breakpoint location. More...
 
TargetGetTarget ()
 
bool ShouldStop (StoppointCallbackContext *context) override
 Determines whether we should stop due to a hit at this breakpoint location. More...
 
void SetEnabled (bool enabled)
 If enabled is true, enable the breakpoint, if false disable it. More...
 
bool IsEnabled () const
 Check the Enable/Disable state. More...
 
void SetAutoContinue (bool auto_continue)
 If auto_continue is true, set the breakpoint to continue when hit. More...
 
bool IsAutoContinue () const
 Check the AutoContinue state. More...
 
uint32_t GetIgnoreCount ()
 Return the current Ignore Count. More...
 
void SetIgnoreCount (uint32_t n)
 Set the breakpoint to ignore the next count breakpoint hits. More...
 
void SetCallback (BreakpointHitCallback callback, const lldb::BatonSP &callback_baton_sp, bool is_synchronous)
 Set the callback action invoked when the breakpoint is hit. More...
 
void SetCallback (BreakpointHitCallback callback, void *baton, bool is_synchronous)
 
void ClearCallback ()
 
void SetCondition (const char *condition)
 Set the breakpoint location's condition. More...
 
const char * GetConditionText (size_t *hash=nullptr) const
 Return a pointer to the text of the condition expression. More...
 
bool ConditionSaysStop (ExecutionContext &exe_ctx, Status &error)
 
void SetThreadID (lldb::tid_t thread_id)
 Set the valid thread to be checked when the breakpoint is hit. More...
 
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
 
bool ResolveBreakpointSite ()
 Try to resolve the breakpoint site for this location. More...
 
bool ClearBreakpointSite ()
 Clear this breakpoint location's breakpoint site - for instance when disabling the breakpoint. More...
 
bool IsResolved () const
 Return whether this breakpoint location has a breakpoint site. More...
 
lldb::BreakpointSiteSP GetBreakpointSite () const
 
void GetDescription (Stream *s, lldb::DescriptionLevel level)
 Print a description of this breakpoint location to the stream s. More...
 
void Dump (Stream *s) const override
 Standard "Dump" method. At present it does nothing. More...
 
BreakpointOptionsGetLocationOptions ()
 Use this to set location specific breakpoint options. More...
 
const BreakpointOptionsGetOptionsSpecifyingKind (BreakpointOptions::OptionKind kind) const
 Use this to access breakpoint options from this breakpoint location. More...
 
bool ValidForThisThread (Thread *thread)
 
bool InvokeCallback (StoppointCallbackContext *context)
 Invoke the callback action when the breakpoint is hit. More...
 
bool ShouldResolveIndirectFunctions ()
 Returns whether we should resolve Indirect functions in setting the breakpoint site for this location. More...
 
bool IsIndirect ()
 Returns whether the address set in the breakpoint site for this location was found by resolving an indirect symbol. More...
 
void SetIsIndirect (bool is_indirect)
 
bool IsReExported ()
 Returns whether the address set in the breakpoint location was re-routed to the target of a re-exported symbol. More...
 
void SetIsReExported (bool is_reexported)
 
bool EquivalentToLocation (BreakpointLocation &location)
 Returns whether the two breakpoint locations might represent "equivalent locations". More...
 
- Public Member Functions inherited from lldb_private::StoppointLocation
 StoppointLocation (lldb::break_id_t bid, lldb::addr_t m_addr, bool hardware)
 
 StoppointLocation (lldb::break_id_t bid, lldb::addr_t m_addr, uint32_t byte_size, bool hardware)
 
virtual ~StoppointLocation ()
 
virtual void SetLoadAddress (lldb::addr_t addr)
 
uint32_t GetByteSize () const
 
uint32_t GetHitCount () const
 
uint32_t GetHardwareIndex () const
 
bool HardwareRequired () const
 
virtual bool IsHardware () const
 
virtual void SetHardwareIndex (uint32_t index)
 
lldb::break_id_t GetID () const
 

Protected Member Functions

bool SetBreakpointSite (lldb::BreakpointSiteSP &bp_site_sp)
 Set the breakpoint site for this location to bp_site_sp. More...
 
void DecrementIgnoreCount ()
 
bool IgnoreCountShouldStop ()
 
- Protected Member Functions inherited from lldb_private::StoppointLocation
void IncrementHitCount ()
 
void DecrementHitCount ()
 

Private Member Functions

void SwapLocation (lldb::BreakpointLocationSP swap_from)
 
void BumpHitCount ()
 
void UndoBumpHitCount ()
 
 BreakpointLocation (lldb::break_id_t bid, Breakpoint &owner, const Address &addr, lldb::tid_t tid, bool hardware, bool check_for_resolver=true)
 Constructor. More...
 
void SetShouldResolveIndirectFunctions (bool do_resolve)
 
void SendBreakpointLocationChangedEvent (lldb::BreakpointEventType eventKind)
 
 BreakpointLocation (const BreakpointLocation &)=delete
 
const BreakpointLocationoperator= (const BreakpointLocation &)=delete
 

Private Attributes

bool m_being_created
 
bool m_should_resolve_indirect_functions
 
bool m_is_reexported
 
bool m_is_indirect
 
Address m_address
 The address defining this location. More...
 
Breakpointm_owner
 The breakpoint that produced this object. More...
 
std::unique_ptr< BreakpointOptionsm_options_up
 Breakpoint options pointer, nullptr if we're using our breakpoint's options. More...
 
lldb::BreakpointSiteSP m_bp_site_sp
 Our breakpoint site (it may be shared by more than one location.) More...
 
lldb::UserExpressionSP m_user_expression_sp
 The compiled expression to use in testing our condition. More...
 
std::mutex m_condition_mutex
 Guards parsing and evaluation of the condition, which could be evaluated by multiple processes. More...
 
size_t m_condition_hash
 For testing whether the condition source code changed. More...
 

Friends

class BreakpointSite
 
class BreakpointLocationList
 
class Process
 
class StopInfoBreakpoint
 

Additional Inherited Members

- Protected Attributes inherited from lldb_private::StoppointLocation
lldb::break_id_t m_loc_id
 
lldb::addr_t m_addr
 
bool m_hardware
 
uint32_t m_hardware_index
 
uint32_t m_byte_size
 
uint32_t m_hit_count
 

Detailed Description

General Outline: A breakpoint location is defined by the breakpoint that produces it, and the address that resulted in this particular instantiation.

"lldb/Breakpoint/BreakpointLocation.h" Class that manages one unique (by address) instance of a logical breakpoint.

Each breakpoint location also may have a breakpoint site if its address has been loaded into the program. Finally it has a settable options object.

FIXME: Should we also store some fingerprint for the location, so we can map one location to the "equivalent location" on rerun? This would be useful if you've set options on the locations.

Definition at line 37 of file BreakpointLocation.h.

Constructor & Destructor Documentation

◆ ~BreakpointLocation()

BreakpointLocation::~BreakpointLocation ( )
override

Definition at line 50 of file BreakpointLocation.cpp.

References ClearBreakpointSite().

◆ BreakpointLocation() [1/2]

BreakpointLocation::BreakpointLocation ( lldb::break_id_t  bid,
Breakpoint owner,
const Address addr,
lldb::tid_t  tid,
bool  hardware,
bool  check_for_resolver = true 
)
private

Constructor.

Parameters
[in]ownerA back pointer to the breakpoint that owns this location.
[in]addrThe Address defining this location.
[in]tidThe thread for which this breakpoint location is valid, or LLDB_INVALID_THREAD_ID if it is valid for all threads.
[in]hardwaretrue if a hardware breakpoint is requested.

Definition at line 31 of file BreakpointLocation.cpp.

References lldb_private::Address::CalculateSymbolContextSymbol(), lldb_private::Symbol::IsIndirect(), m_address, m_being_created, SetShouldResolveIndirectFunctions(), and SetThreadID().

Referenced by SetShouldResolveIndirectFunctions().

◆ BreakpointLocation() [2/2]

lldb_private::BreakpointLocation::BreakpointLocation ( const BreakpointLocation )
privatedelete

Member Function Documentation

◆ BumpHitCount()

void BreakpointLocation::BumpHitCount ( )
private

◆ ClearBreakpointSite()

bool BreakpointLocation::ClearBreakpointSite ( )

Clear this breakpoint location's breakpoint site - for instance when disabling the breakpoint.

Returns
true if there was a breakpoint site to be cleared, false otherwise.

Definition at line 468 of file BreakpointLocation.cpp.

References GetBreakpoint(), lldb_private::StoppointLocation::GetID(), lldb_private::Target::GetProcessSP(), lldb_private::Breakpoint::GetTarget(), m_bp_site_sp, and m_owner.

Referenced by SetEnabled(), and ~BreakpointLocation().

◆ ClearCallback()

void BreakpointLocation::ClearCallback ( )

◆ ConditionSaysStop()

bool BreakpointLocation::ConditionSaysStop ( ExecutionContext exe_ctx,
Status error 
)

◆ DecrementIgnoreCount()

void BreakpointLocation::DecrementIgnoreCount ( )
protected

Definition at line 345 of file BreakpointLocation.cpp.

References m_options_up.

Referenced by IgnoreCountShouldStop().

◆ Dump()

void BreakpointLocation::Dump ( Stream s) const
overridevirtual

◆ EquivalentToLocation()

bool lldb_private::BreakpointLocation::EquivalentToLocation ( BreakpointLocation location)

Returns whether the two breakpoint locations might represent "equivalent locations".

This is used when modules changed to determine if a Location in the old module might be the "same as" the input location.

Parameters
[in]locationThe location to compare against.
Returns
true or false as given in the description above.

Referenced by SetIsReExported().

◆ GetAddress()

Address & BreakpointLocation::GetAddress ( )

Gets the Address for this breakpoint location.

Returns
Returns breakpoint location Address.

Definition at line 65 of file BreakpointLocation.cpp.

References m_address.

Referenced by lldb_private::BreakpointLocationList::RemoveInvalidLocations().

◆ GetBreakpoint()

Breakpoint & BreakpointLocation::GetBreakpoint ( )

Gets the Breakpoint that created this breakpoint location.

Returns
Returns the owning breakpoint.

Definition at line 67 of file BreakpointLocation.cpp.

References m_owner.

Referenced by ClearBreakpointSite().

◆ GetBreakpointSite()

lldb::BreakpointSiteSP BreakpointLocation::GetBreakpointSite ( ) const

Definition at line 437 of file BreakpointLocation.cpp.

References m_bp_site_sp.

◆ GetConditionText()

const char * BreakpointLocation::GetConditionText ( size_t *  hash = nullptr) const

Return a pointer to the text of the condition expression.

Returns
A pointer to the condition expression text, or nullptr if no

Definition at line 224 of file BreakpointLocation.cpp.

References lldb_private::BreakpointOptions::eCondition, lldb_private::BreakpointOptions::GetConditionText(), and GetOptionsSpecifyingKind().

Referenced by ConditionSaysStop().

◆ GetDescription()

void BreakpointLocation::GetDescription ( Stream s,
lldb::DescriptionLevel  level 
)

Print a description of this breakpoint location to the stream s.

Parameters
[in]sThe stream to which to print the description.
[in]levelThe description level that indicates the detail level to provide.
See also
lldb::DescriptionLevel

Definition at line 486 of file BreakpointLocation.cpp.

References lldb_private::ConstString::AsCString(), lldb_private::Stream::AsRawOstream(), lldb_private::Address::CalculateSymbolContext(), lldb_private::Address::CalculateSymbolContextSymbol(), lldb_private::SymbolContext::comp_unit, lldb_private::Address::Dump(), lldb_private::ConstString::Dump(), lldb_private::LineEntry::DumpStopContext(), lldb_private::SymbolContext::DumpStopContext(), lldb_private::Address::DumpStyleFileAddress, lldb_private::Address::DumpStyleLoadAddress, lldb_private::Address::DumpStyleModuleWithFileAddress, lldb::eDescriptionLevelBrief, lldb::eDescriptionLevelFull, lldb::eDescriptionLevelInitial, lldb::eDescriptionLevelVerbose, lldb_private::Stream::EOL(), lldb_private::SymbolContext::function, lldb_private::BreakpointID::GetCanonicalReference(), lldb_private::ConstString::GetCString(), lldb_private::FileSpec::GetFilename(), lldb_private::StoppointLocation::GetHitCount(), lldb_private::Stoppoint::GetID(), lldb_private::StoppointLocation::GetID(), lldb_private::Symbol::GetName(), lldb_private::Function::GetName(), lldb_private::CompileUnit::GetPrimaryFile(), lldb_private::Target::GetProcessSP(), lldb_private::Breakpoint::GetTarget(), lldb_private::Stream::Indent(), lldb_private::Stream::IndentLess(), lldb_private::Stream::IndentMore(), lldb_private::StoppointLocation::IsHardware(), IsIndirect(), IsReExported(), IsResolved(), lldb_private::Address::IsSectionOffset(), lldb_private::LineEntry::line, lldb_private::SymbolContext::line_entry, m_address, m_bp_site_sp, m_options_up, m_owner, lldb_private::SymbolContext::module_sp, lldb_private::Stream::Printf(), lldb_private::Stream::PutCString(), lldb_private::Address::SetLoadAddress(), and lldb_private::SymbolContext::symbol.

Referenced by lldb_private::Breakpoint::GetDescription(), and ShouldStop().

◆ GetIgnoreCount()

uint32_t BreakpointLocation::GetIgnoreCount ( )

Return the current Ignore Count.

Returns
The number of breakpoint hits to be ignored.

Definition at line 335 of file BreakpointLocation.cpp.

References lldb_private::BreakpointOptions::eIgnoreCount, lldb_private::BreakpointOptions::GetIgnoreCount(), and GetOptionsSpecifyingKind().

◆ GetLoadAddress()

lldb::addr_t BreakpointLocation::GetLoadAddress ( ) const
overridevirtual

Gets the load address for this breakpoint location.

Returns
Returns breakpoint location load address, LLDB_INVALID_ADDRESS if not yet set.

Reimplemented from lldb_private::StoppointLocation.

Definition at line 52 of file BreakpointLocation.cpp.

References lldb_private::Address::GetOpcodeLoadAddress(), lldb_private::Breakpoint::GetTarget(), m_address, and m_owner.

◆ GetLocationOptions()

BreakpointOptions * BreakpointLocation::GetLocationOptions ( )

Use this to set location specific breakpoint options.

It will create a copy of the containing breakpoint's options if that hasn't been done already

Returns
A pointer to the breakpoint options.

Definition at line 367 of file BreakpointLocation.cpp.

References m_options_up.

Referenced by ClearCallback(), CommandObjectBreakpointModify::DoExecute(), SetAutoContinue(), SetCallback(), SetCondition(), SetEnabled(), SetIgnoreCount(), SetQueueName(), SetThreadID(), SetThreadIndex(), and SetThreadName().

◆ GetOptionsSpecifyingKind()

const BreakpointOptions * BreakpointLocation::GetOptionsSpecifyingKind ( BreakpointOptions::OptionKind  kind) const

Use this to access breakpoint options from this breakpoint location.

This will return the options that have a setting for the specified BreakpointOptions kind.

Parameters
[in]kindThe particular option you are looking up.
Returns
A pointer to the containing breakpoint's options if this location doesn't have its own copy.

Definition at line 57 of file BreakpointLocation.cpp.

References lldb_private::Breakpoint::GetOptions(), m_options_up, and m_owner.

Referenced by Dump(), GetConditionText(), GetIgnoreCount(), GetQueueName(), GetThreadID(), GetThreadIndex(), GetThreadName(), and ValidForThisThread().

◆ GetQueueName()

const char * BreakpointLocation::GetQueueName ( ) const

◆ GetTarget()

Target & BreakpointLocation::GetTarget ( )

Definition at line 69 of file BreakpointLocation.cpp.

References lldb_private::Breakpoint::GetTarget(), and m_owner.

Referenced by ConditionSaysStop().

◆ GetThreadID()

lldb::tid_t BreakpointLocation::GetThreadID ( )

◆ GetThreadIndex()

uint32_t BreakpointLocation::GetThreadIndex ( ) const

◆ GetThreadName()

const char * BreakpointLocation::GetThreadName ( ) const

◆ IgnoreCountShouldStop()

bool BreakpointLocation::IgnoreCountShouldStop ( )
protected

◆ InvokeCallback()

bool BreakpointLocation::InvokeCallback ( StoppointCallbackContext context)

Invoke the callback action when the breakpoint is hit.

Meant to be used by the BreakpointLocation class.

Parameters
[in]contextDescribed the breakpoint event.
Returns
true if the target should stop at this breakpoint and false not.

Definition at line 192 of file BreakpointLocation.cpp.

References lldb_private::Stoppoint::GetID(), lldb_private::StoppointLocation::GetID(), lldb_private::Breakpoint::InvokeCallback(), m_options_up, and m_owner.

Referenced by ShouldStop().

◆ IsAutoContinue()

bool BreakpointLocation::IsAutoContinue ( ) const

Check the AutoContinue state.

Returns
true if the breakpoint is set to auto-continue, false if not.

Definition at line 91 of file BreakpointLocation.cpp.

References lldb_private::BreakpointOptions::eAutoContinue, lldb_private::Breakpoint::IsAutoContinue(), m_options_up, and m_owner.

◆ IsEnabled()

bool BreakpointLocation::IsEnabled ( ) const

Check the Enable/Disable state.

Returns
true if the breakpoint is enabled, false if disabled.

Definition at line 71 of file BreakpointLocation.cpp.

References lldb_private::Breakpoint::IsEnabled(), m_options_up, and m_owner.

Referenced by BumpHitCount(), ShouldStop(), and UndoBumpHitCount().

◆ IsIndirect()

bool lldb_private::BreakpointLocation::IsIndirect ( )
inline

Returns whether the address set in the breakpoint site for this location was found by resolving an indirect symbol.

Returns
true or false as given in the description above.

Definition at line 247 of file BreakpointLocation.h.

References m_is_indirect.

Referenced by GetDescription().

◆ IsReExported()

bool lldb_private::BreakpointLocation::IsReExported ( )
inline

Returns whether the address set in the breakpoint location was re-routed to the target of a re-exported symbol.

Returns
true or false as given in the description above.

Definition at line 256 of file BreakpointLocation.h.

References m_is_reexported.

Referenced by GetDescription().

◆ IsResolved()

bool BreakpointLocation::IsResolved ( ) const

Return whether this breakpoint location has a breakpoint site.

Returns
true if there was a breakpoint site for this breakpoint location, false otherwise.

Definition at line 433 of file BreakpointLocation.cpp.

References m_bp_site_sp.

Referenced by GetDescription(), and ResolveBreakpointSite().

◆ operator=()

const BreakpointLocation& lldb_private::BreakpointLocation::operator= ( const BreakpointLocation )
privatedelete

◆ ResolveBreakpointSite()

bool BreakpointLocation::ResolveBreakpointSite ( )

◆ SendBreakpointLocationChangedEvent()

void BreakpointLocation::SendBreakpointLocationChangedEvent ( lldb::BreakpointEventType  eventKind)
private

◆ SetAutoContinue()

void BreakpointLocation::SetAutoContinue ( bool  auto_continue)

If auto_continue is true, set the breakpoint to continue when hit.

Definition at line 99 of file BreakpointLocation.cpp.

References GetLocationOptions(), SendBreakpointLocationChangedEvent(), and lldb_private::BreakpointOptions::SetAutoContinue().

◆ SetBreakpointSite()

bool BreakpointLocation::SetBreakpointSite ( lldb::BreakpointSiteSP &  bp_site_sp)
protected

Set the breakpoint site for this location to bp_site_sp.

Parameters
[in]bp_site_spThe breakpoint site we are setting for this location.
Returns
true if we were successful at setting the breakpoint site, false otherwise.

Definition at line 462 of file BreakpointLocation.cpp.

References m_bp_site_sp, and SendBreakpointLocationChangedEvent().

◆ SetCallback() [1/2]

void lldb_private::BreakpointLocation::SetCallback ( BreakpointHitCallback  callback,
const lldb::BatonSP &  callback_baton_sp,
bool  is_synchronous 
)

Set the callback action invoked when the breakpoint is hit.

The callback will return a bool indicating whether the target should stop at this breakpoint or not.

Parameters
[in]callbackThe method that will get called when the breakpoint is hit.
[in]callback_baton_spA shared pointer to a Baton that provides the void * needed for the callback.
See also
lldb_private::Baton

Referenced by SetCallback().

◆ SetCallback() [2/2]

void BreakpointLocation::SetCallback ( BreakpointHitCallback  callback,
void *  baton,
bool  is_synchronous 
)

◆ SetCondition()

void BreakpointLocation::SetCondition ( const char *  condition)

Set the breakpoint location's condition.

Parameters
[in]conditionThe condition expression to evaluate when the breakpoint is hit.

Definition at line 219 of file BreakpointLocation.cpp.

References GetLocationOptions(), SendBreakpointLocationChangedEvent(), and lldb_private::BreakpointOptions::SetCondition().

◆ SetEnabled()

void BreakpointLocation::SetEnabled ( bool  enabled)

◆ SetIgnoreCount()

void BreakpointLocation::SetIgnoreCount ( uint32_t  n)

Set the breakpoint to ignore the next count breakpoint hits.

Parameters
[in]nThe number of breakpoint hits to ignore.

Definition at line 340 of file BreakpointLocation.cpp.

References GetLocationOptions(), SendBreakpointLocationChangedEvent(), and lldb_private::BreakpointOptions::SetIgnoreCount().

◆ SetIsIndirect()

void lldb_private::BreakpointLocation::SetIsIndirect ( bool  is_indirect)
inline

Definition at line 249 of file BreakpointLocation.h.

References m_is_indirect.

◆ SetIsReExported()

void lldb_private::BreakpointLocation::SetIsReExported ( bool  is_reexported)
inline

Definition at line 258 of file BreakpointLocation.h.

References EquivalentToLocation(), and m_is_reexported.

◆ SetQueueName()

void BreakpointLocation::SetQueueName ( const char *  queue_name)

◆ SetShouldResolveIndirectFunctions()

void lldb_private::BreakpointLocation::SetShouldResolveIndirectFunctions ( bool  do_resolve)
inlineprivate

◆ SetThreadID()

void BreakpointLocation::SetThreadID ( lldb::tid_t  thread_id)

Set the valid thread to be checked when the breakpoint is hit.

Parameters
[in]thread_idIf this thread hits the breakpoint, we stop, otherwise not.

Definition at line 104 of file BreakpointLocation.cpp.

References GetLocationOptions(), LLDB_INVALID_THREAD_ID, m_options_up, SendBreakpointLocationChangedEvent(), and lldb_private::BreakpointOptions::SetThreadID().

Referenced by BreakpointLocation().

◆ SetThreadIndex()

void BreakpointLocation::SetThreadIndex ( uint32_t  index)

◆ SetThreadName()

void BreakpointLocation::SetThreadName ( const char *  thread_name)

◆ ShouldResolveIndirectFunctions()

bool lldb_private::BreakpointLocation::ShouldResolveIndirectFunctions ( )
inline

Returns whether we should resolve Indirect functions in setting the breakpoint site for this location.

Returns
true if the breakpoint SITE for this location should be set on the resolved location for Indirect functions.

Definition at line 238 of file BreakpointLocation.h.

References m_should_resolve_indirect_functions.

◆ ShouldStop()

bool BreakpointLocation::ShouldStop ( StoppointCallbackContext context)
overridevirtual

Determines whether we should stop due to a hit at this breakpoint location.

Side Effects: This may evaluate the breakpoint condition, and run the callback. So this command may do a considerable amount of work.

Returns
true if this breakpoint location thinks we should stop, false otherwise.

Reimplemented from lldb_private::StoppointLocation.

Definition at line 388 of file BreakpointLocation.cpp.

References lldb::eDescriptionLevelVerbose, lldb_private::StreamString::GetData(), GetDescription(), lldb_private::GetLogIfAllCategoriesSet(), IgnoreCountShouldStop(), lldb_private::Breakpoint::IgnoreCountShouldStop(), InvokeCallback(), lldb_private::StoppointCallbackContext::is_synchronous, IsEnabled(), LIBLLDB_LOG_BREAKPOINTS, LLDB_LOGF, and m_owner.

◆ SwapLocation()

void BreakpointLocation::SwapLocation ( lldb::BreakpointLocationSP  swap_from)
private

◆ UndoBumpHitCount()

void BreakpointLocation::UndoBumpHitCount ( )
private

◆ ValidForThisThread()

bool BreakpointLocation::ValidForThisThread ( Thread thread)

Friends And Related Function Documentation

◆ BreakpointLocationList

friend class BreakpointLocationList
friend

Definition at line 273 of file BreakpointLocation.h.

◆ BreakpointSite

friend class BreakpointSite
friend

Definition at line 272 of file BreakpointLocation.h.

◆ Process

friend class Process
friend

Definition at line 274 of file BreakpointLocation.h.

◆ StopInfoBreakpoint

friend class StopInfoBreakpoint
friend

Definition at line 275 of file BreakpointLocation.h.

Member Data Documentation

◆ m_address

Address lldb_private::BreakpointLocation::m_address
private

The address defining this location.

Definition at line 326 of file BreakpointLocation.h.

Referenced by BreakpointLocation(), ConditionSaysStop(), Dump(), GetAddress(), GetDescription(), GetLoadAddress(), ResolveBreakpointSite(), and SwapLocation().

◆ m_being_created

bool lldb_private::BreakpointLocation::m_being_created
private

Definition at line 322 of file BreakpointLocation.h.

Referenced by BreakpointLocation(), and SendBreakpointLocationChangedEvent().

◆ m_bp_site_sp

lldb::BreakpointSiteSP lldb_private::BreakpointLocation::m_bp_site_sp
private

Our breakpoint site (it may be shared by more than one location.)

Definition at line 332 of file BreakpointLocation.h.

Referenced by ClearBreakpointSite(), GetBreakpointSite(), GetDescription(), IsResolved(), ResolveBreakpointSite(), and SetBreakpointSite().

◆ m_condition_hash

size_t lldb_private::BreakpointLocation::m_condition_hash
private

For testing whether the condition source code changed.

Definition at line 339 of file BreakpointLocation.h.

Referenced by ConditionSaysStop().

◆ m_condition_mutex

std::mutex lldb_private::BreakpointLocation::m_condition_mutex
private

Guards parsing and evaluation of the condition, which could be evaluated by multiple processes.

Definition at line 336 of file BreakpointLocation.h.

Referenced by ConditionSaysStop().

◆ m_is_indirect

bool lldb_private::BreakpointLocation::m_is_indirect
private

Definition at line 325 of file BreakpointLocation.h.

Referenced by IsIndirect(), SetIsIndirect(), and SwapLocation().

◆ m_is_reexported

bool lldb_private::BreakpointLocation::m_is_reexported
private

Definition at line 324 of file BreakpointLocation.h.

Referenced by IsReExported(), SetIsReExported(), and SwapLocation().

◆ m_options_up

std::unique_ptr<BreakpointOptions> lldb_private::BreakpointLocation::m_options_up
private

◆ m_owner

Breakpoint& lldb_private::BreakpointLocation::m_owner
private

◆ m_should_resolve_indirect_functions

bool lldb_private::BreakpointLocation::m_should_resolve_indirect_functions
private

Definition at line 323 of file BreakpointLocation.h.

Referenced by ShouldResolveIndirectFunctions(), and SwapLocation().

◆ m_user_expression_sp

lldb::UserExpressionSP lldb_private::BreakpointLocation::m_user_expression_sp
private

The compiled expression to use in testing our condition.

Definition at line 334 of file BreakpointLocation.h.

Referenced by ConditionSaysStop(), and SwapLocation().


The documentation for this class was generated from the following files: