19 if (!name || !name[0]) {
26 "plugin name '%s' is not a valid ObjectFile plugin name", name);
46const std::optional<lldb_private::FileSpec>
59 if (!process_sp->IsValid()) {
83 "Cannot add a thread from a different process.");
121 std::string error_str;
123 error_str +=
"Cannot save a full core with a subset of threads\n";
126 error_str +=
"Cannot save core for process using supplied core options. "
127 "Options were constructed targeting a different process. \n";
129 if (!error_str.empty())
static llvm::raw_ostream & error(Stream &strm)
static bool IsRegisteredObjectFilePluginName(llvm::StringRef name)
void Insert(const Entry &entry, bool combine)
lldb::ProcessSP m_process_sp
Status SetProcess(lldb::ProcessSP process_sp)
lldb_private::Status SetPluginName(const char *name)
bool RemoveThread(lldb::ThreadSP thread_sp)
MemoryRanges m_regions_to_save
const std::optional< lldb_private::FileSpec > GetOutputFile() const
lldb::SaveCoreStyle GetStyle() const
Status AddThread(lldb::ThreadSP thread_sp)
std::optional< std::string > m_plugin_name
void SetStyle(lldb::SaveCoreStyle style)
void AddMemoryRegionToSave(const lldb_private::MemoryRegionInfo ®ion)
bool HasSpecifiedThreads() const
std::optional< std::string > GetPluginName() const
const MemoryRanges & GetCoreFileMemoryRanges() const
std::optional< lldb::SaveCoreStyle > m_style
void SetOutputFile(lldb_private::FileSpec file)
void ClearProcessSpecificData()
std::unordered_set< lldb::tid_t > m_threads_to_save
Status EnsureValidConfiguration(lldb::ProcessSP process_sp) const
bool ShouldThreadBeSaved(lldb::tid_t tid) const
std::optional< lldb_private::FileSpec > m_file
static Status FromErrorStringWithFormat(const char *format,...) __attribute__((format(printf
static Status FromErrorString(const char *str)
A class that represents a running process on the host machine.
std::shared_ptr< lldb_private::Thread > ThreadSP
std::shared_ptr< lldb_private::Process > ProcessSP