Go to the documentation of this file.
22 BreakpointResolverAddress::BreakpointResolverAddress(
23 const BreakpointSP &bkpt,
const Address &addr,
const FileSpec &module_spec)
26 m_module_filespec(module_spec) {}
36 llvm::StringRef module_name;
44 error.SetErrorString(
"BRFL::CFSD: Couldn't find address offset entry.");
54 error.SetErrorString(
"BRA::CFSD: Couldn't read module name entry.");
57 module_filespec.
SetFile(module_name, FileSpec::Style::native);
68 ModuleSP module_sp = section_sp->GetModule();
94 bool re_resolve =
false;
107 bool re_resolve =
false;
152 loc_sp->ClearBreakpointSite();
153 loc_sp->ResolveBreakpointSite();
173 lldb::BreakpointResolverSP
175 lldb::BreakpointResolverSP ret_sp(
BreakpointResolverAddress(const lldb::BreakpointSP &bkpt, const Address &addr)
lldb::BreakpointResolverSP CopyForBreakpoint(lldb::BreakpointSP &breakpoint) override
void ResolveBreakpointInModules(SearchFilter &filter, ModuleList &modules) override
In response to this method the resolver scans the modules in the module list modules,...
virtual bool AddressPasses(Address &addr)
Call this method with a Address to see if address passes the filter.
#define LLDB_LOGF(log,...)
void SetCString(const char *cstr)
Set the C string value.
const ModuleList & GetImages() const
Get accessor for the images for this process.
static BreakpointResolver * CreateFromStructuredData(const lldb::BreakpointSP &bkpt, const StructuredData::Dictionary &options_dict, Status &error)
StructuredData::ObjectSP SerializeToStructuredData() override
bool GetValueForKeyAsInteger(llvm::StringRef key, IntType &result) const
static llvm::raw_ostream & error(Stream &strm)
void Dump(Stream *s) const override
Standard "Dump" method. At present it does nothing.
virtual void ResolveBreakpointInModules(SearchFilter &filter, ModuleList &modules)
In response to this method the resolver scans the modules in the module list modules,...
@ DumpStyleLoadAddress
Display as the load address (if resolved).
General Outline: Provides the callback and search depth for the SearchFilter search.
lldb::BreakpointLocationSP GetLocationAtIndex(size_t index)
Get breakpoint locations by index.
bool IsInternal() const
Tell whether this breakpoint is an "internal" breakpoint.
std::shared_ptr< Object > ObjectSP
const char * GetData() const
void ResolveBreakpoint(SearchFilter &filter) override
In response to this method the resolver scans all the modules in the breakpoint's target,...
lldb::ModuleSP FindFirstModule(const ModuleSpec &module_spec) const
std::shared_ptr< Dictionary > DictionarySP
lldb::SearchDepth GetDepth() override
General Outline: The AddressResolver is a Searcher.
lldb::SectionSP GetSection() const
Get const accessor for the section.
@ DumpStyleModuleWithFileAddress
Display as the file address with the module name prepended (if any).
lldb::BreakpointLocationSP AddLocation(Address loc_addr, bool *new_location=nullptr)
FileSpec m_module_filespec
General Outline: The BreakpointResolver is a Searcher.
StructuredData::DictionarySP WrapOptionsDict(StructuredData::DictionarySP options_dict_sp)
bool Dump(Stream *s, ExecutionContextScope *exe_scope, DumpStyle style, DumpStyle fallback_style=DumpStyleInvalid, uint32_t addr_byte_size=UINT32_MAX, bool all_ranges=false) const
Dump a description of this object to a Stream.
static const char * GetKey(OptionNames enum_value)
void GetDescription(Stream *s) override
Prints a canonical description for the breakpoint to the stream s.
lldb::addr_t GetLoadAddress(Target *target) const
Get the load address.
bool HasKey(llvm::StringRef key) const
#define LLDB_INVALID_ADDRESS
const char * GetCString() const
Get the string value as a C string.
virtual void ResolveBreakpoint(SearchFilter &filter)
In response to this method the resolver scans all the modules in the breakpoint's target,...
A class that represents a running process on the host machine.
@ eDescriptionLevelVerbose
bool IsSectionOffset() const
Check if an address is section offset.
Target & GetTarget()
Accessor for the breakpoint Target.
size_t GetNumLocations() const
Return the number of breakpoint locations.
lldb::addr_t GetOffset() const
Get the section relative offset value.
size_t PutCString(llvm::StringRef cstr)
Output a C string to the stream.
void SetFile(llvm::StringRef path, Style style)
Change the file specified with a new path.
bool GetValueForKeyAsString(llvm::StringRef key, llvm::StringRef &result) const
Log * GetLog(Cat mask)
Retrieve the Log object for the channel associated with the given log enum.
size_t GetPath(char *path, size_t max_path_length, bool denormalize=true) const
Extract the full path to the file.
lldb::addr_t m_resolved_addr
lldb::BreakpointSP GetBreakpoint() const
This gets the breakpoint for this resolver.
General Outline: A breakpoint has four main parts, a filter, a resolver, the list of breakpoint locat...
Searcher::CallbackReturn SearchCallback(SearchFilter &filter, SymbolContext &context, Address *addr) override