Go to the documentation of this file.
9 #ifndef LLDB_TARGET_TARGET_H
10 #define LLDB_TARGET_TARGET_H
120 llvm::StringRef
GetArg0()
const;
122 void SetArg0(llvm::StringRef arg);
283 #if defined(_MSC_VER)
284 #pragma warning(push)
285 #pragma warning(disable : 4268)
288 #if defined(_MSC_VER)
314 if (prefix && prefix[0])
401 if (path && path[0]) {
469 class Target :
public std::enable_shared_from_this<Target>,
581 Status *error_ptr =
nullptr);
607 const lldb::ProcessSP &
CreateProcess(lldb::ListenerSP listener_sp,
608 llvm::StringRef plugin_name,
642 LazyBool skip_prologue,
bool internal,
643 bool request_hardware,
650 const FileSpecList *containingModules,
651 const FileSpecList *source_file_list,
652 const std::unordered_set<std::string> &function_names,
658 bool request_hardware);
664 bool request_hardware);
668 bool request_hardware);
675 const FileSpecList *containingModules,
678 bool internal,
bool request_hardware);
686 const FileSpecList *containingModules,
687 const FileSpecList *containingSourceFiles,
const char *func_name,
690 bool request_hardware);
694 bool throw_bp,
bool internal,
695 Args *additional_args =
nullptr,
696 Status *additional_args_error =
nullptr);
699 const llvm::StringRef class_name,
const FileSpecList *containingModules,
700 const FileSpecList *containingSourceFiles,
bool internal,
702 Status *creation_error =
nullptr);
710 const FileSpecList *containingModules,
711 const FileSpecList *containingSourceFiles,
const char *func_names[],
712 size_t num_names, lldb::FunctionNameType func_name_type_mask,
714 bool internal,
bool request_hardware);
718 const FileSpecList *containingSourceFiles,
719 const std::vector<std::string> &func_names,
720 lldb::FunctionNameType func_name_type_mask,
722 LazyBool skip_prologue,
bool internal,
723 bool request_hardware);
727 lldb::BreakpointResolverSP &resolver_sp,
728 bool internal,
bool request_hardware,
729 bool resolve_indirect_symbols);
818 std::vector<std::string> &names,
919 lldb::ModuleSP &module_sp,
923 Stream *feedback_stream =
nullptr,
924 bool continue_on_error =
true) {
926 this, errors, feedback_stream, continue_on_error);
1053 size_t dst_max_len,
Status &result_error,
1054 bool force_live_memory =
false);
1085 bool force_live_memory =
true);
1088 bool is_signed,
Scalar &scalar,
1090 bool force_live_memory =
false);
1093 size_t integer_byte_size,
1095 bool force_live_memory =
false);
1099 bool force_live_memory =
false);
1121 llvm::Expected<lldb::TypeSystemSP>
1123 bool create_on_demand =
true);
1125 std::vector<lldb::TypeSystemSP>
1152 const Address &function_address,
1157 llvm::Expected<std::unique_ptr<UtilityFunction>>
1172 bool warn_multiple =
false);
1190 void SetTrace(
const lldb::TraceSP &trace_sp);
1218 lldb::ValueObjectSP &result_valobj_sp,
1272 lldb::StreamSP output) = 0;
1313 lldb::StreamSP output_sp)
override;
1331 lldb::StreamSP output)
override;
1394 StopHookCollection::iterator pos =
m_stop_hooks.begin();
1400 return (*pos).second;
1412 lldb::SearchFilterSP
1415 lldb::SearchFilterSP
1418 lldb::SearchFilterSP
1420 const FileSpecList *containingSourceFiles);
1423 const char *repl_options,
bool can_create);
1459 lldb::StreamSP warning_stream_sp);
1471 const lldb::ModuleSP &module_sp)
override;
1474 const lldb::ModuleSP &module_sp)
override;
1477 const lldb::ModuleSP &old_module_sp,
1478 const lldb::ModuleSP &new_module_sp)
override;
1515 std::map<ConstString, std::unique_ptr<BreakpointName>>;
1529 typedef std::map<lldb::LanguageType, lldb::REPLSP>
REPLMap;
1584 const lldb::PlatformSP &platform_sp,
bool is_dummy_target);
1592 void AddBreakpoint(lldb::BreakpointSP breakpoint_sp,
bool internal);
1606 #endif // LLDB_TARGET_TARGET_H
bool DoesKeepInMemory() const
FileSpec GetStandardInputPath() const
void PrimeFromDummyTarget(Target &target)
StackFrameRecognizerManager & GetFrameRecognizerManager()
const lldb::TargetSP & GetTarget() const
bool LoadScriptingResourcesInTarget(Target *target, std::list< Status > &errors, Stream *feedback_stream=nullptr, bool continue_on_error=true)
void DisableSTDIOValueChangedCallback()
void ConfigureBreakpointName(BreakpointName &bp_name, const BreakpointOptions &options, const BreakpointName::Permissions &permissions)
bool GetAutoSourceMapRelative() const
DynamicClassInfoHelper GetDynamicClassInfoHelper() const
lldb::ExpressionCancelCallback m_cancel_callback
bool GetColorizeErrors() const
llvm::StringMapEntry< DummySignalValues > DummySignalElement
StopHookCommandLine(lldb::TargetSP target_sp, lldb::user_id_t uid)
const Timeout< std::micro > & GetTimeout() const
StopHook(const StopHook &rhs)
Environment ComputeEnvironment() const
void NotifyWillClearList(const ModuleList &module_list) override
General Outline: Allows adding and removing breakpoints and find by ID and index.
bool GetDisplayExpressionsInCrashlogs() const
@ eBroadcastBitSymbolsLoaded
void RemoveNameFromBreakpoint(lldb::BreakpointSP &bp_sp, ConstString name)
void AddBreakpointName(std::unique_ptr< BreakpointName > bp_name)
uint32_t m_latest_stop_hook_id
lldb::BreakpointSP m_last_created_breakpoint
void SetArg0(llvm::StringRef arg)
bool GetRequireHardwareBreakpoints() const
void DeleteBreakpointName(ConstString name)
bool GetInheritTCC() const
void SetRequireHardwareBreakpoints(bool b)
llvm::Expected< lldb_private::Address > GetEntryPointAddress()
This method will return the address of the starting function for this binary, e.g.
Environment GetTargetEnvironment() const
bool ModuleIsExcludedForUnconstrainedSearches(const FileSpec &module_spec)
Return whether this FileSpec corresponds to a module that should be considered for general searches.
void OutputPathValueChangedCallback()
void ClearModules(bool delete_locations)
void SetTimeout(const Timeout< std::micro > &timeout)
void SetREPLEnabled(bool b)
void SetLanguage(lldb::LanguageType language)
void SymbolsDidLoad(ModuleList &module_list)
uint64_t GetExprErrorLimit() const
ExecutionPolicy
Expression execution policies.
StopHookResult HandleStop(ExecutionContext &exc_ctx, lldb::StreamSP output_sp) override
lldb::TargetSP m_target_sp
bool m_suppress_stop_hooks
bool DisableBreakpointByID(lldb::break_id_t break_id)
std::shared_ptr< Generic > GenericSP
Add a signal for the target.
void SetActionFromStrings(const std::vector< std::string > &strings)
void SetStandardInputPath(llvm::StringRef path)
void SetDisplayRuntimeSupportValues(bool b)
void SetDisplayRecognizedArguments(bool b)
std::unique_ptr< ThreadSpec > m_thread_spec_up
bool GetPreloadSymbols() const
lldb::ModuleSP GetOrCreateModule(const ModuleSpec &module_spec, bool notify, Status *error_ptr=nullptr)
Find a binary on the system and return its Module, or return an existing Module that is already in th...
bool(* ExpressionCancelCallback)(ExpressionEvaluationPhase phase, void *baton)
ExpressionResults
The results of expression evaluation.
void SetAutoContinue(bool auto_continue)
void GetBreakpointNames(std::vector< std::string > &names)
const Target & operator=(const Target &)=delete
size_t UnloadModuleSections(const lldb::ModuleSP &module_sp)
uint32_t GetMaximumSizeOfStringSummary() const
lldb::ThreadSP CalculateThread() override
@ eImportStdModuleFallback
bool DoesCoerceToId() const
Module * GetExecutableModulePointer()
A class that represents statistics for a since lldb_private::Target.
virtual StopHookResult HandleStop(ExecutionContext &exe_ctx, lldb::StreamSP output)=0
bool GetEnableSyntheticValue() const
lldb::ProcessSP CalculateProcess() override
void DisableAllBreakpoints(bool internal_also=false)
@ eLoadScriptFromSymFileFalse
std::map< lldb::LanguageType, lldb::REPLSP > REPLMap
lldb::ModuleSP GetExecutableModule()
Gets the module for the main executable.
void SetExecutionPolicy(ExecutionPolicy policy=eExecutionPolicyAlways)
MemoryModuleLoadLevel GetMemoryModuleLoadLevel() const
void ClearDummySignals(Args &signal_names)
Clear the dummy signals in signal_names from the target, or all signals if signal_names is empty.
const char * GetPrefix() const
void AddBreakpoint(lldb::BreakpointSP breakpoint_sp, bool internal)
void SetIsForUtilityExpr(bool b)
~TargetProperties() override
bool ClearAllWatchpointHistoricValues()
void SetDisableASLR(bool b)
const Arch & operator=(const ArchSpec &spec)
@ eDynamicClassInfoHelperRealizedClassesStruct
bool DoesIgnoreBreakpoints() const
void SetTrapExceptions(bool b)
LoadScriptFromSymFile GetLoadScriptFromSymbolFile() const
bool m_valid
This records the last natural stop at which we ran a stop-hook.
std::unique_ptr< TargetExperimentalProperties > m_experimental_properties_up
bool GetInjectLocalVariables(ExecutionContext *exe_ctx) const
void SetPoundLine(const char *path, uint32_t line) const
LanguageType
Programming language type.
bool GetAutoContinue() const
void SetCancelCallback(lldb::ExpressionCancelCallback callback, void *baton)
WatchpointList m_watchpoint_list
lldb::TargetSP & GetTarget()
StructuredDataImpl m_extra_args
This holds the dictionary of keys & values that can be used to parametrize any given callback's behav...
lldb::addr_t GetReasonableReadSize(const Address &addr)
Return a recommended size for memory reads at addr, optimizing for cache usage.
PathMappingList & GetImageSearchPathList()
void SetActionFromString(const std::string &strings)
static const TargetEventData * GetEventDataFromEvent(const Event *event_ptr)
lldb::PlatformSP m_platform_sp
The platform for this target.
lldb::BreakpointSP CreateExceptionBreakpoint(enum lldb::LanguageType language, bool catch_bp, bool throw_bp, bool internal, Args *additional_args=nullptr, Status *additional_args_error=nullptr)
@ eDynamicClassInfoHelperGetRealizedClassList
void SetDebugUtilityExpression(bool debug)
void InputPathValueChangedCallback()
static Target * GetTargetFromContexts(const ExecutionContext *exe_ctx_ptr, const SymbolContext *sc_ptr)
TypeSystemMap m_scratch_type_system_map
@ eLoadScriptFromSymFileTrue
size_t ReadMemoryFromFileCache(const Address &addr, void *dst, size_t dst_len, Status &error)
WatchpointList & GetWatchpointList()
lldb::BreakpointSP CreateBreakpoint(const FileSpecList *containingModules, const FileSpec &file, uint32_t line_no, uint32_t column, lldb::addr_t offset, LazyBool check_inlines, LazyBool skip_prologue, bool internal, bool request_hardware, LazyBool move_to_nearest_code)
Timeout< std::micro > m_one_thread_timeout
bool m_generate_debug_info
Class that provides a registry of known stack frame recognizers.
BreakpointList & GetBreakpointList(bool internal=false)
bool GetAutoApplyFixIts() const
Status SerializeBreakpointsToFile(const FileSpec &file, const BreakpointIDList &bp_ids, bool append)
void FinalizeFileActions(ProcessLaunchInfo &info)
void DidExec()
Called as the last function in Process::DidExec().
std::map< ConstString, std::unique_ptr< BreakpointName > > BreakpointNameList
lldb::SourceManagerUP m_source_manager_up
bool ResolveLoadAddress(lldb::addr_t load_addr, Address &so_addr, uint32_t stop_id=SectionLoadHistory::eStopIDNow)
uint32_t GetMaximumNumberOfChildrenToDisplay() const
void SetRetriesWithFixIts(uint64_t number_of_retries)
bool GetREPLEnabled() const
@ eBroadcastBitModulesUnloaded
FunctionCaller * GetFunctionCallerForLanguage(lldb::LanguageType language, const CompilerType &return_type, const Address &function_address, const ValueList &arg_value_list, const char *name, Status &error)
FileSpec GetStandardErrorPath() const
void GetSubclassDescription(Stream *s, lldb::DescriptionLevel level) const override
const lldb::ProcessSP & CreateProcess(lldb::ListenerSP listener_sp, llvm::StringRef plugin_name, const FileSpec *crash_file, bool can_connect)
void SetResultIsInternal(bool b)
const ModuleList & GetImages() const
Get accessor for the images for this process.
std::recursive_mutex m_private_mutex
When the private state thread calls SB API's - usually because it is running OS plugin or Python Thre...
lldb::ExpressionVariableSP GetPersistentVariable(ConstString name)
void SetDisableSTDIO(bool b)
static constexpr std::chrono::milliseconds default_timeout
void CheckJITObjectsDir()
bool GetGenerateDebugInfo() const
EvaluateExpressionOptions()=default
lldb::SymbolContextSpecifierSP m_specifier_sp
@ eLoadScriptFromSymFileWarn
static ConstString GetFlavorString()
bool GetDisableSTDIO() const
bool GetSuppressStopHooks()
bool IgnoreWatchpointByID(lldb::watch_id_t watch_id, uint32_t ignore_count)
bool m_result_is_internal
Arch(const ArchSpec &spec)
StopHookSP GetStopHookByID(lldb::user_id_t uid)
virtual void GetSubclassDescription(Stream *s, lldb::DescriptionLevel level) const =0
lldb::PlatformSP GetPlatform()
lldb::DynamicValueType GetUseDynamic() const
unsigned m_next_persistent_variable_index
lldb::BreakpointSP GetLastCreatedBreakpoint()
bool SetPreferDynamicValue(lldb::DynamicValueType d)
std::vector< lldb::TypeSystemSP > GetScratchTypeSystems(bool create_on_demand=true)
static llvm::raw_ostream & error(Stream &strm)
ExecutionPolicy m_execution_policy
lldb::SearchFilterSP GetSearchFilterForModule(const FileSpec *containingModule)
void DisableASLRValueChangedCallback()
lldb::DynamicValueType GetPreferDynamicValue() const
llvm::StringRef GetArg0() const
void PrintDummySignals(Stream &strm, Args &signals)
Print all the signals set in this target.
StopHookSP GetStopHookAtIndex(size_t index)
size_t ReadCStringFromMemory(const Address &addr, std::string &out_str, Status &error, bool force_live_memory=false)
uint64_t ReadUnsignedIntegerFromMemory(const Address &addr, size_t integer_byte_size, uint64_t fail_value, Status &error, bool force_live_memory=false)
bool GetDisplayRecognizedArguments() const
@ eInlineBreakpointsNever
void AddDummySignal(llvm::StringRef name, LazyBool pass, LazyBool print, LazyBool stop)
Add a signal to the Target's list of stored signals/actions.
ModuleList m_images
The list of images for this process (shared libraries and anything dynamically loaded).
bool GetSkipPrologue() const
@ eBroadcastBitSymbolsChanged
lldb::BreakpointSP CreateSourceRegexBreakpoint(const FileSpecList *containingModules, const FileSpecList *source_file_list, const std::unordered_set< std::string > &function_names, RegularExpression source_regex, bool internal, bool request_hardware, LazyBool move_to_nearest_code)
void DetachOnErrorValueChangedCallback()
static constexpr ExecutionPolicy default_execution_policy
Status CreateBreakpointsFromFile(const FileSpec &file, BreakpointIDList &new_bps)
void RemoveAllStopHooks()
ConstString & GetBroadcasterClass() const override
This needs to be filled in if you are going to register the broadcaster with the broadcaster manager ...
std::recursive_mutex & GetAPIMutex()
bool GetDetachOnError() const
DummySignalValues(LazyBool pass, LazyBool notify, LazyBool stop)
lldb::WatchpointSP GetLastCreatedWatchpoint()
void SetRunArguments(const Args &args)
bool SetSectionLoadAddress(const lldb::SectionSP §ion, lldb::addr_t load_addr, bool warn_multiple=false)
@ eBroadcastBitBreakpointChanged
void EnableAllBreakpoints(bool internal_also=false)
InlineStrategy GetInlineStrategy() const
std::pair< uint32_t, bool > GetMaximumDepthOfChildrenToDisplay() const
Get the max depth value, augmented with a bool to indicate whether the depth is the default.
ThreadSpec * GetThreadSpecifier()
Architecture * GetPlugin() const
void * m_cancel_callback_baton
std::shared_ptr< Object > ObjectSP
@ eDynamicClassInfoHelperAuto
DummySignalValues()=default
PathMappingList m_image_search_paths
void RunArgsValueChangedCallback()
void UpdateLaunchInfoFromProperties()
void ClearAllLoadedSections()
void EnableAllowedBreakpoints()
uint64_t m_retries_with_fixits
lldb::addr_t GetBreakableLoadAddress(lldb::addr_t addr)
bool ResolveFileAddress(lldb::addr_t load_addr, Address &so_addr)
void SetStandardOutputPath(llvm::StringRef path)
~StopHookScripted() override=default
FileSpec GetSaveJITObjectsDir() const
~TargetEventData() override
llvm::Expected< std::unique_ptr< UtilityFunction > > CreateUtilityFunction(std::string expression, std::string name, lldb::LanguageType language, ExecutionContext &exe_ctx)
Creates and installs a UtilityFunction for the given language.
bool SetSuppresStopHooks(bool suppress)
lldb::ProcessSP m_process_sp
void DeleteCurrentProcess()
void SetStandardErrorPath(llvm::StringRef path)
lldb::BreakpointSP CreateAddressInModuleBreakpoint(lldb::addr_t file_addr, bool internal, const FileSpec *file_spec, bool request_hardware)
lldb::addr_t GetCallableLoadAddress(lldb::addr_t load_addr, AddressClass addr_class=AddressClass::eInvalid) const
Get load_addr as a callable code load address for this target.
bool DisableAllWatchpoints(bool end_to_end=true)
void SetColorizeErrors(bool b)
bool m_is_dummy_target
Used to not run stop hooks for expressions.
void AddNameToBreakpoint(BreakpointID &id, const char *name, Status &error)
void NotifyModuleUpdated(const ModuleList &module_list, const lldb::ModuleSP &old_module_sp, const lldb::ModuleSP &new_module_sp) override
void Dump(Stream *s, lldb::DescriptionLevel description_level)
Dump a description of this object to a Stream.
llvm::StringRef GetABIName() const
Returns the name of the target's ABI plugin.
void SetTryAllThreads(bool try_others=true)
bool GetRunArguments(Args &args) const
lldb::WatchpointSP m_last_created_watchpoint
BreakpointList m_internal_breakpoint_list
std::shared_ptr< StopHook > StopHookSP
void NotifyModuleAdded(const ModuleList &module_list, const lldb::ModuleSP &module_sp) override
Implementing of ModuleList::Notifier.
void ApplyNameToBreakpoints(BreakpointName &bp_name)
ExpressionEvaluationPhase
Expression Evaluation Stages.
void Arg0ValueChangedCallback()
std::map< lldb::user_id_t, StopHookSP > StopHookCollection
bool GetMoveToNearestCode() const
llvm::StringRef GetExpressionPrefixContents()
void InheritTCCValueChangedCallback()
void DisableAllowedBreakpoints()
llvm::Expected< lldb::TraceSP > CreateTrace()
Create a Trace object for the current target using the using the default supported tracing technology...
PersistentExpressionState * GetPersistentExpressionStateForLanguage(lldb::LanguageType language)
string(SUBSTRING ${p} 10 -1 pStripped) if($
void EnvVarsValueChangedCallback()
void SetUnwindOnError(bool unwind=false)
void SetKeepInMemory(bool keep=true)
lldb::WatchpointSP CreateWatchpoint(lldb::addr_t addr, size_t size, const CompilerType *type, uint32_t kind, Status &error)
BreakpointNameList m_breakpoint_names
void SetTrace(const lldb::TraceSP &trace_sp)
Set the Trace object containing processor trace information of this target.
bool IsForUtilityExpr() const
void SetInjectLocalVariables(ExecutionContext *exe_ctx, bool b)
lldb::addr_t GetOpcodeLoadAddress(lldb::addr_t load_addr, AddressClass addr_class=AddressClass::eInvalid) const
Get load_addr as an opcode for this target.
size_t ReadStringFromMemory(const Address &addr, char *dst, size_t max_bytes, Status &error, size_t type_width, bool force_live_memory=true)
Read a NULL terminated string from memory.
void ErrorPathValueChangedCallback()
bool GetDisplayRuntimeSupportValues() const
void SetProcessLaunchInfo(const ProcessLaunchInfo &launch_info)
std::recursive_mutex m_mutex
An API mutex that is used by the lldb::SB* classes make the SB interface thread safe.
bool m_running_utility_expression
True if the executed code should be treated as utility code that is only used by LLDB internally.
bool GetEnableAutoApplyFixIts() const
BreakpointList m_breakpoint_list
void SetExecutableModule(lldb::ModuleSP &module_sp, LoadDependentFiles load_dependent_files=eLoadDependentsDefault)
Set the main executable module.
static bool ResetSignalFromDummy(lldb::UnixSignalsSP signals_sp, const DummySignalElement &element)
const ProcessLaunchInfo & GetProcessLaunchInfo() const
@ eDynamicClassInfoHelperCopyRealizedClassList
FileSpecList GetDebugFileSearchPaths()
void SetIgnoreBreakpoints(bool ignore=false)
TargetExperimentalProperties()
static ConstString & GetStaticBroadcasterClass()
Status Attach(ProcessAttachInfo &attach_info, Stream *stream)
static void SettingsTerminate()
const lldb::ProcessSP & GetProcessSP() const
bool GetDebugUtilityExpression() const
bool DisableWatchpointByID(lldb::watch_id_t watch_id)
Status Launch(ProcessLaunchInfo &launch_info, Stream *stream)
llvm::Expected< lldb::TraceSP > GetTraceOrCreate()
If a Trace object is present, this returns it, otherwise a new Trace is created with Trace::CreateTra...
Architecture * GetArchitecturePlugin() const
static FileSpecList GetDefaultExecutableSearchPaths()
SectionLoadList & GetCurrentSectionLoadList()
void SetSpecifier(SymbolContextSpecifier *specifier)
const ArchSpec & GetArchitecture() const
bool SetSectionUnloaded(const lldb::SectionSP §ion_sp)
void SetOneThreadTimeout(const Timeout< std::micro > &timeout)
Environment GetEnvironment() const
lldb::LanguageType GetLanguage() const
StopHookSP CreateStopHook(StopHook::StopHookKind kind)
Add an empty stop hook to the Target's stop hook list, and returns a shared pointer to it in new_hook...
LoadCWDlldbinitFile GetLoadCWDlldbinitFile() const
static ArchSpec GetDefaultArchitecture()
void ResetBreakpointHitCounts()
Resets the hit count of all breakpoints.
size_t ReadMemory(const Address &addr, void *dst, size_t dst_len, Status &error, bool force_live_memory=false, lldb::addr_t *load_addr_ptr=nullptr)
Status Install(ProcessLaunchInfo *launch_info)
uint32_t m_pound_line_line
lldb::DynamicValueType m_use_dynamic
@ eLanguageTypeUnknown
Unknown or invalid language value.
llvm::Expected< lldb::TypeSystemSP > GetScratchTypeSystemForLanguage(lldb::LanguageType language, bool create_on_demand=true)
void UpdateSignalsFromDummy(lldb::UnixSignalsSP signals_sp, lldb::StreamSP warning_stream_sp)
Updates the signals in signals_sp using the stored dummy signals.
bool GetEnableAutoImportClangModules() const
void SetREPL(lldb::LanguageType language, lldb::REPLSP repl_sp)
lldb::REPLSP GetREPL(Status &err, lldb::LanguageType language, const char *repl_options, bool can_create)
static void ImageSearchPathsChanged(const PathMappingList &path_list, void *baton)
void CalculateExecutionContext(ExecutionContext &exe_ctx) override
Reconstruct the object's execution context into sc.
bool GetStopOthers() const
TargetStats & GetStatistics()
void SetUseDynamic(lldb::DynamicValueType dynamic=lldb::eDynamicCanRunTarget)
void SetCoerceToId(bool coerce=true)
@ eBroadcastBitWatchpointChanged
void RemoveAllBreakpoints(bool internal_also=false)
lldb::addr_t GetPersistentSymbol(ConstString name)
void ModulesDidLoad(ModuleList &module_list)
@ eInlineBreakpointsAlways
void AppendExecutableSearchPaths(const FileSpec &)
lldb::ExpressionResults EvaluateExpression(llvm::StringRef expression, ExecutionContextScope *exe_scope, lldb::ValueObjectSP &result_valobj_sp, const EvaluateExpressionOptions &options=EvaluateExpressionOptions(), std::string *fixed_expression=nullptr, ValueObject *ctx_obj=nullptr)
ImportStdModule GetImportStdModule() const
Disassembler::HexImmediateStyle GetHexImmediateStyle() const
ProcessLaunchInfo m_launch_info
lldb::SearchFilterSP GetSearchFilterForModuleAndCUList(const FileSpecList *containingModules, const FileSpecList *containingSourceFiles)
StopHookCollection m_stop_hooks
lldb::LanguageType m_language
const TargetEventData & operator=(const TargetEventData &)=delete
StopHookScripted(lldb::TargetSP target_sp, lldb::user_id_t uid)
Use CreateStopHook to make a new empty stop hook.
lldb::SearchFilterSP GetSearchFilterForModuleList(const FileSpecList *containingModuleList)
const ModuleList & GetModuleList() const
bool IsDummyTarget() const
bool ClearAllWatchpointHitCounts()
bool GetBreakpointsConsultPlatformAvoidList()
bool GetTryAllThreads() const
void SetGenerateDebugInfo(bool b)
StructuredData::GenericSP m_implementation_sp
This holds the python callback object.
bool ExecutionContextPasses(const ExecutionContext &exe_ctx)
lldb::user_id_t m_stop_hook_next_id
bool GetUseFastStepping() const
bool DoesUnwindOnError() const
void SetAllStopHooksActiveState(bool active_state)
bool GetUserSpecifiedTrapHandlerNames(Args &args) const
FileSpec GetStandardOutputPath() const
StopHookResult HandleStop(ExecutionContext &exc_ctx, lldb::StreamSP output) override
bool RemoveBreakpointByID(lldb::break_id_t break_id)
void Dump(Stream *s) const override
SectionLoadList & GetSectionLoadList()
void UndoCreateStopHook(lldb::user_id_t uid)
If you tried to create a stop hook, and that failed, call this to remove the stop hook,...
std::unique_ptr< Architecture > m_plugin_up
@ eExecutionPolicyOnlyWhenNeeded
llvm::StringMap< DummySignalValues > m_dummy_signals
These are used to set the signal state when you don't have a process and more usefully in the Dummy t...
bool GetUseHexImmediates() const
void SetInheritTCC(bool b)
@ eInlineBreakpointsHeaders
Generic representation of a type in a programming language.
virtual ~StopHook()=default
bool m_ignore_breakpoints
UserExpression * GetUserExpressionForLanguage(llvm::StringRef expr, llvm::StringRef prefix, lldb::LanguageType language, Expression::ResultType desired_type, const EvaluateExpressionOptions &options, ValueObject *ctx_obj, Status &error)
bool RemoveWatchpointByID(lldb::watch_id_t watch_id)
~StopHookCommandLine() override=default
@ eBroadcastBitModulesLoaded
static TargetProperties & GetGlobalProperties()
void SetUserSpecifiedTrapHandlerNames(const Args &args)
uint64_t GetNumberOfRetriesWithFixits() const
TargetEventData(const lldb::TargetSP &target_sp)
ConstString GetFlavor() const override
lldb::TargetSP CalculateTarget() override
ExecutionPolicy GetExecutionPolicy() const
A class that represents a running process on the host machine.
bool GetTrapExceptions() const
lldb::LanguageType GetLanguage() const
void NotifyModuleRemoved(const ModuleList &module_list, const lldb::ModuleSP &module_sp) override
uint32_t GetMaxZeroPaddingInFloatFormat() const
bool GetResultIsInternal() const
const ArchSpec & GetSpec() const
size_t ReadScalarIntegerFromMemory(const Address &addr, uint32_t byte_size, bool is_signed, Scalar &scalar, Status &error, bool force_live_memory=false)
uint32_t GetMaximumMemReadSize() const
bool GetEnableNotifyAboutFixIts() const
StringList & GetCommands()
lldb::TraceSP GetTrace()
Get the Trace object containing processor trace information of this target.
lldb::SearchFilterSP m_search_filter_sp
bool InvokeCancelCallback(lldb::ExpressionEvaluationPhase phase) const
bool LoadScriptingResources(std::list< Status > &errors, Stream *feedback_stream=nullptr, bool continue_on_error=true)
lldb::TargetSP m_target_sp
SymbolContextSpecifier * GetSpecifier()
static ModuleList GetModuleListFromEvent(const Event *event_ptr)
void NotifyModulesRemoved(lldb_private::ModuleList &module_list) override
bool IgnoreAllWatchpoints(uint32_t ignore_count)
PathMappingList & GetSourcePathMap() const
void SetDefaultArchitecture(const ArchSpec &arch)
void SetIsActive(bool is_active)
bool GetDisableASLR() const
lldb::BreakpointSP CreateScriptedBreakpoint(const llvm::StringRef class_name, const FileSpecList *containingModules, const FileSpecList *containingSourceFiles, bool internal, bool request_hardware, StructuredData::ObjectSP extra_args_sp, Status *creation_error=nullptr)
static FileSpecList GetDefaultDebugFileSearchPaths()
bool RemoveStopHookByID(lldb::user_id_t uid)
void SetStopOthers(bool stop_others=true)
lldb::BreakpointSP GetBreakpointByID(lldb::break_id_t break_id)
SourceManager & GetSourceManager()
void GetDescription(Stream *s, lldb::DescriptionLevel level) const
void ModulesDidUnload(ModuleList &module_list, bool delete_locations)
void SetPlatform(const lldb::PlatformSP &platform_sp)
bool EnableAllWatchpoints(bool end_to_end=true)
Timeout< std::micro > m_timeout
static void SetDefaultArchitecture(const ArchSpec &arch)
void SetPreloadSymbols(bool b)
TargetProperties(Target *target)
bool EnableBreakpointByID(lldb::break_id_t break_id)
void GetSubclassDescription(Stream *s, lldb::DescriptionLevel level) const override
uint64_t GetRetriesWithFixIts() const
lldb::BreakpointSP CreateFuncRegexBreakpoint(const FileSpecList *containingModules, const FileSpecList *containingSourceFiles, RegularExpression func_regexp, lldb::LanguageType requested_language, LazyBool skip_prologue, bool internal, bool request_hardware)
OptionEnumValues GetDynamicValueTypes()
void SetThreadSpecifier(ThreadSpec *specifier)
const char * GetDisassemblyFlavor() const
ArchSpec GetDefaultArchitecture() const
bool EnableWatchpointByID(lldb::watch_id_t watch_id)
static void SettingsInitialize()
FileSpecList GetClangModuleSearchPaths()
void SetPrefix(const char *prefix)
Target(Debugger &debugger, const ArchSpec &target_arch, const lldb::PlatformSP &platform_sp, bool is_dummy_target)
Construct with optional file and arch.
Status SetScriptCallback(std::string class_name, StructuredData::ObjectSP extra_args_sp)
BreakpointName * FindBreakpointName(ConstString name, bool can_create, Status &error)
lldb::StackFrameRecognizerManagerUP m_frame_recognizer_manager_up
Stores the frame recognizers of this target.
bool GetAutoInstallMainExecutable() const
llvm::json::Value ReportStatistics()
Get metrics associated with this target in JSON format.
lldb::StackFrameSP CalculateStackFrame() override
static lldb::TargetSP GetTargetFromEvent(const Event *event_ptr)
const char * GetPoundLineFilePath() const
size_t GetNumStopHooks() const
uint32_t GetPoundLineLine() const
SectionLoadHistory m_section_load_history
Environment GetInheritedEnvironment() const
FileSpecList GetExecutableSearchPaths()
void SetEnvironment(Environment env)
void SetDetachOnError(bool b)
bool SetArchitecture(const ArchSpec &arch_spec, bool set_platform=false, bool merge=true)
Set the architecture for this target.
DescriptionLevel
Description levels for "void GetDescription(Stream *, DescriptionLevel)" calls.
const Timeout< std::micro > & GetOneThreadTimeout() const
bool RemoveAllWatchpoints(bool end_to_end=true)
std::string m_pound_line_file
void RemoveAllowedBreakpoints()
static bool UpdateSignalFromDummy(lldb::UnixSignalsSP signals_sp, const DummySignalElement &element)
bool MergeArchitecture(const ArchSpec &arch_spec)
bool SetStopHookActiveStateByID(lldb::user_id_t uid, bool active_state)
lldb::TraceSP m_trace_sp
An optional lldb_private::Trace object containing processor trace information of this target.
void SetAutoApplyFixIts(bool b)
bool ReadPointerFromMemory(const Address &addr, Status &error, Address &pointer_addr, bool force_live_memory=false)