29 const BreakpointSP &bkpt,
const llvm::StringRef class_name,
47 TargetSP target_sp = breakpoint_sp->GetTargetSP();
49 .GetScriptInterpreter();
56 "BreakpointResolverScripted::%s () - ERROR: %s", __FUNCTION__,
57 "Script interpreter couldn't create Scripted Breakpoint Interface");
69 if (!object_sp || !object_sp->IsValid()) {
71 "ScriptedBreakpoint::%s () - ERROR: %s", __FUNCTION__,
72 "Failed to create valid script object");
82 llvm::StringRef class_name;
100 args_data_impl.
SetObjectSP(args_dict->shared_from_this());
101 return std::make_shared<BreakpointResolverScripted>(
nullptr, class_name,
102 depth, args_data_impl);
120 return GetBreakpoint()->GetTarget().GetDebugger().GetScriptInterpreter();
125 bool should_continue =
true;
147 std::optional<std::string> short_help;
152 if (short_help && !short_help->empty())
162 return std::make_shared<BreakpointResolverScripted>(breakpoint,
m_class_name,
static llvm::raw_ostream & error(Stream &strm)
A section + offset based address class.
BreakpointResolverScripted(const lldb::BreakpointSP &bkpt, const llvm::StringRef class_name, lldb::SearchDepth depth, const StructuredDataImpl &args_data)
lldb::BreakpointResolverSP CopyForBreakpoint(lldb::BreakpointSP &breakpoint) override
void GetDescription(Stream *s) override
Prints a canonical description for the breakpoint to the stream s.
StructuredData::ObjectSP SerializeToStructuredData() override
void Dump(Stream *s) const override
Standard "Dump" method. At present it does nothing.
Searcher::CallbackReturn SearchCallback(SearchFilter &filter, SymbolContext &context, Address *addr) override
lldb::SearchDepth m_depth
void CreateImplementationIfNeeded(lldb::BreakpointSP bkpt)
lldb::SearchDepth GetDepth() override
lldb::ScriptedBreakpointInterfaceSP m_interface_sp
static lldb::BreakpointResolverSP CreateFromStructuredData(const StructuredData::Dictionary &options_dict, Status &error)
ScriptInterpreter * GetScriptInterpreter()
void NotifyBreakpointSet() override
StructuredDataImpl m_args
static const char * GetKey(OptionNames enum_value)
StructuredData::DictionarySP WrapOptionsDict(StructuredData::DictionarySP options_dict_sp)
lldb::BreakpointSP GetBreakpoint() const
This gets the breakpoint for this resolver.
BreakpointResolver(const lldb::BreakpointSP &bkpt, unsigned char resolverType, lldb::addr_t offset=0, bool offset_is_insn_count=false)
The breakpoint resolver need to have a breakpoint for "ResolveBreakpoint to make sense.
virtual lldb::ScriptedBreakpointInterfaceSP CreateScriptedBreakpointInterface()
General Outline: Provides the callback and search depth for the SearchFilter search.
@ eCallbackReturnContinue
static Status FromErrorStringWithFormat(const char *format,...) __attribute__((format(printf
static Status FromErrorString(const char *str)
static Status FromError(llvm::Error error)
Avoid using this in new code. Migrate APIs to llvm::Expected instead.
A stream class that can stream formatted output to a file.
size_t Printf(const char *format,...) __attribute__((format(printf
Output printf formatted output to the stream.
size_t PutCString(llvm::StringRef cstr)
Output a C string to the stream.
void SetObjectSP(const StructuredData::ObjectSP &obj)
bool GetValueForKeyAsString(llvm::StringRef key, llvm::StringRef &result) const
bool GetValueForKeyAsDictionary(llvm::StringRef key, Dictionary *&result) const
std::shared_ptr< Generic > GenericSP
std::shared_ptr< Dictionary > DictionarySP
std::shared_ptr< Object > ObjectSP
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::shared_ptr< lldb_private::BreakpointResolver > BreakpointResolverSP
std::shared_ptr< lldb_private::Breakpoint > BreakpointSP
std::shared_ptr< lldb_private::Target > TargetSP