9#ifndef LLDB_BREAKPOINT_BREAKPOINTRESOLVER_H
10#define LLDB_BREAKPOINT_BREAKPOINTRESOLVER_H
49 unsigned char resolverType,
66 assert(breakpoint_sp);
207 bool skip_prologue, llvm::StringRef log_ident,
209 std::optional<uint16_t> column = std::nullopt);
211 const char *) =
delete;
214 bool *new_location =
nullptr);
219 bool skip_prologue, llvm::StringRef log_ident);
static llvm::raw_ostream & error(Stream &strm)
A section + offset based address class.
General Outline: The BreakpointResolver is a Searcher.
void GetDescription(Stream *s) override=0
Prints a canonical description for the breakpoint to the stream s.
const char * GetResolverName()
virtual lldb::BreakpointResolverSP CopyForBreakpoint(lldb::BreakpointSP &breakpoint)=0
void SetBreakpoint(const lldb::BreakpointSP &bkpt)
This sets the breakpoint for this resolver.
~BreakpointResolver() override
The Destructor is virtual, all significant breakpoint resolvers derive from this class.
lldb::addr_t GetOffset() const
lldb::BreakpointLocationSP AddLocation(Address loc_addr, bool *new_location=nullptr)
static const char * GetKey(OptionNames enum_value)
static lldb::BreakpointResolverSP CreateFromStructuredData(const StructuredData::Dictionary &resolver_dict, Status &error)
This section handles serializing and deserializing from StructuredData objects.
static ResolverTy NameToResolverTy(llvm::StringRef name)
StructuredData::DictionarySP WrapOptionsDict(StructuredData::DictionarySP options_dict_sp)
virtual void Dump(Stream *s) const =0
Standard "Dump" method. At present it does nothing.
enum ResolverTy GetResolverTy()
const unsigned char SubclassID
ResolverTy
An enumeration for keeping track of the concrete subclass that is actually instantiated.
void SetSCMatchesByLine(SearchFilter &filter, SymbolContextList &sc_list, bool skip_prologue, llvm::StringRef log_ident, uint32_t line=0, std::optional< uint16_t > column=std::nullopt)
Takes a symbol context list of matches which supposedly represent the same file and line number in a ...
static const char * GetSerializationKey()
void SetSCMatchesByLine(SearchFilter &, SymbolContextList &, bool, const char *)=delete
lldb::BreakpointSP GetBreakpoint() const
This gets the breakpoint for this resolver.
void SetOffset(lldb::addr_t offset)
This updates the offset for this breakpoint.
static const char * g_option_names[static_cast< uint32_t >(OptionNames::LastOptionName)]
static const char * ResolverTyToName(enum ResolverTy)
unsigned getResolverID() const
getResolverID - Return an ID for the concrete type of this object.
virtual StructuredData::ObjectSP SerializeToStructuredData()
const BreakpointResolver & operator=(const BreakpointResolver &)=delete
BreakpointResolver(const BreakpointResolver &)=delete
virtual void NotifyBreakpointSet()
static const char * g_ty_to_name[LastKnownResolverType+2]
static const char * GetSerializationSubclassKey()
virtual void ResolveBreakpointInModules(SearchFilter &filter, ModuleList &modules)
In response to this method the resolver scans the modules in the module list modules,...
static const char * GetSerializationSubclassOptionsKey()
virtual void ResolveBreakpoint(SearchFilter &filter)
In response to this method the resolver scans all the modules in the breakpoint's target,...
lldb::BreakpointWP m_breakpoint
General Outline: A breakpoint has four main parts, a filter, a resolver, the list of breakpoint locat...
This class finds address for source file and line.
A collection class for Module objects.
General Outline: Provides the callback and search depth for the SearchFilter search.
General Outline: Provides the callback and search depth for the SearchFilter search.
A stream class that can stream formatted output to a file.
std::shared_ptr< Dictionary > DictionarySP
std::shared_ptr< Object > ObjectSP
Defines a list of symbol context objects.
Defines a symbol context baton that can be handed other debug core functions.
A class that represents a running process on the host machine.
std::weak_ptr< lldb_private::Breakpoint > BreakpointWP
std::shared_ptr< lldb_private::BreakpointResolver > BreakpointResolverSP
std::shared_ptr< lldb_private::BreakpointLocation > BreakpointLocationSP
std::shared_ptr< lldb_private::Breakpoint > BreakpointSP