diff options
Diffstat (limited to 'include/lldb/Target/Target.h')
| -rw-r--r-- | include/lldb/Target/Target.h | 41 |
1 files changed, 32 insertions, 9 deletions
diff --git a/include/lldb/Target/Target.h b/include/lldb/Target/Target.h index 64f3edf0fc4f..a33734fd5b63 100644 --- a/include/lldb/Target/Target.h +++ b/include/lldb/Target/Target.h @@ -26,6 +26,7 @@ #include "lldb/Core/Event.h" #include "lldb/Core/ModuleList.h" #include "lldb/Core/UserSettingsController.h" +#include "lldb/Expression/ClangModulesDeclVendor.h" #include "lldb/Expression/ClangPersistentVariables.h" #include "lldb/Interpreter/Args.h" #include "lldb/Interpreter/OptionValueBoolean.h" @@ -554,12 +555,20 @@ private: //------------------------------------------------------------------ Target (Debugger &debugger, const ArchSpec &target_arch, - const lldb::PlatformSP &platform_sp); + const lldb::PlatformSP &platform_sp, + bool is_dummy_target); // Helper function. bool ProcessIsValid (); + // Copy breakpoints, stop hooks and so forth from the dummy target: + void + PrimeFromDummyTarget(Target *dummy_target); + + void + AddBreakpoint(lldb::BreakpointSP breakpoint_sp, bool internal); + public: ~Target(); @@ -607,8 +616,8 @@ public: Destroy(); Error - Launch (Listener &listener, - ProcessLaunchInfo &launch_info); + Launch (ProcessLaunchInfo &launch_info, + Stream *stream); // Optional stream to receive first stop info //------------------------------------------------------------------ // This part handles the breakpoints. @@ -954,9 +963,9 @@ public: //------------------------------------------------------------------ /// Return whether this FileSpec corresponds to a module that should be considered for general searches. /// - /// This API will be consulted by the SearchFilterForNonModuleSpecificSearches + /// This API will be consulted by the SearchFilterForUnconstrainedSearches /// and any module that returns \b true will not be searched. Note the - /// SearchFilterForNonModuleSpecificSearches is the search filter that + /// SearchFilterForUnconstrainedSearches is the search filter that /// gets used in the CreateBreakpoint calls when no modules is provided. /// /// The target call at present just consults the Platform's call of the @@ -968,14 +977,14 @@ public: /// @return \b true if the module should be excluded, \b false otherwise. //------------------------------------------------------------------ bool - ModuleIsExcludedForNonModuleSpecificSearches (const FileSpec &module_spec); + ModuleIsExcludedForUnconstrainedSearches (const FileSpec &module_spec); //------------------------------------------------------------------ /// Return whether this module should be considered for general searches. /// - /// This API will be consulted by the SearchFilterForNonModuleSpecificSearches + /// This API will be consulted by the SearchFilterForUnconstrainedSearches /// and any module that returns \b true will not be searched. Note the - /// SearchFilterForNonModuleSpecificSearches is the search filter that + /// SearchFilterForUnconstrainedSearches is the search filter that /// gets used in the CreateBreakpoint calls when no modules is provided. /// /// The target call at present just consults the Platform's call of the @@ -990,7 +999,7 @@ public: /// @return \b true if the module should be excluded, \b false otherwise. //------------------------------------------------------------------ bool - ModuleIsExcludedForNonModuleSpecificSearches (const lldb::ModuleSP &module_sp); + ModuleIsExcludedForUnconstrainedSearches (const lldb::ModuleSP &module_sp); ArchSpec & GetArchitecture () @@ -1132,6 +1141,9 @@ public: Error Install(ProcessLaunchInfo *launch_info); + bool + ResolveFileAddress (lldb::addr_t load_addr, + Address &so_addr); bool ResolveLoadAddress (lldb::addr_t load_addr, @@ -1143,6 +1155,12 @@ public: lldb::addr_t load_addr, bool warn_multiple = false); + size_t + UnloadModuleSections (const lldb::ModuleSP &module_sp); + + size_t + UnloadModuleSections (const ModuleList &module_list); + bool SetSectionUnloaded (const lldb::SectionSP §ion_sp); @@ -1332,6 +1350,9 @@ public: SourceManager & GetSourceManager (); + + ClangModulesDeclVendor * + GetClangModulesDeclVendor (); //------------------------------------------------------------------ // Methods. @@ -1369,6 +1390,7 @@ protected: std::unique_ptr<ClangASTContext> m_scratch_ast_context_ap; std::unique_ptr<ClangASTSource> m_scratch_ast_source_ap; std::unique_ptr<ClangASTImporter> m_ast_importer_ap; + std::unique_ptr<ClangModulesDeclVendor> m_clang_modules_decl_vendor_ap; ClangPersistentVariables m_persistent_variables; ///< These are the persistent variables associated with this process for the expression parser. std::unique_ptr<SourceManager> m_source_manager_ap; @@ -1378,6 +1400,7 @@ protected: lldb::user_id_t m_stop_hook_next_id; bool m_valid; bool m_suppress_stop_hooks; + bool m_is_dummy_target; static void ImageSearchPathsChanged (const PathMappingList &path_list, |
