[Lldb-commits] [clang] [clang-tools-extra] [llvm] [lldb] Add new API in SBTarget for loading core from SBFile (PR #71769)
Greg Clayton via lldb-commits
lldb-commits at lists.llvm.org
Wed Nov 15 11:24:14 PST 2023
================
@@ -244,9 +245,38 @@ SBProcess SBTarget::LoadCore(const char *core_file, lldb::SBError &error) {
TargetSP target_sp(GetSP());
if (target_sp) {
FileSpec filespec(core_file);
- FileSystem::Instance().Resolve(filespec);
+ auto file = FileSystem::Instance().Open(
+ filespec, lldb_private::File::eOpenOptionReadOnly);
+ if (!file) {
+ error.SetErrorStringWithFormat("Failed to open the core file: %s",
+ llvm::toString(file.takeError()).c_str());
+ return sb_process;
+ }
+ ProcessSP process_sp(
+ target_sp->CreateProcess(target_sp->GetDebugger().GetListener(), "",
+ std::move(file.get()), false));
+ if (process_sp) {
+ error.SetError(process_sp->LoadCore());
+ if (error.Success())
+ sb_process.SetSP(process_sp);
+ } else {
+ error.SetErrorString("Failed to create the process");
+ }
+ } else {
+ error.SetErrorString("SBTarget is invalid");
+ }
----------------
clayborg wrote:
If we leave the Target::CreateProcess overload as suggested above, this entire change goes away.
https://github.com/llvm/llvm-project/pull/71769
More information about the lldb-commits
mailing list