[Lldb-commits] [PATCH] D85235: [lldb] Make SBTarget::LaunchSimple start form the target's LaunchInfo
Jonas Devlieghere via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Tue Aug 4 11:53:57 PDT 2020
JDevlieghere created this revision.
JDevlieghere added a reviewer: jingham.
JDevlieghere added a project: LLDB.
JDevlieghere requested review of this revision.
Currently `SBTarget::LaunchSimple` creates a new `LaunchInfo` which means it ignores any target properties that have been set. Instead, it should start from the target's `LaunchInfo` and populated the specified fields.
Repository:
rLLDB LLDB
https://reviews.llvm.org/D85235
Files:
lldb/source/API/SBTarget.cpp
Index: lldb/source/API/SBTarget.cpp
===================================================================
--- lldb/source/API/SBTarget.cpp
+++ lldb/source/API/SBTarget.cpp
@@ -287,16 +287,24 @@
(const char **, const char **, const char *), argv, envp,
working_directory);
- char *stdin_path = nullptr;
- char *stdout_path = nullptr;
- char *stderr_path = nullptr;
- uint32_t launch_flags = 0;
- bool stop_at_entry = false;
+ TargetSP target_sp = GetSP();
+ if (!target_sp)
+ return LLDB_RECORD_RESULT(SBProcess());
+
+ SBLaunchInfo launch_info = GetLaunchInfo();
+
+ if (Module *exe_module = target_sp->GetExecutableModulePointer())
+ launch_info.SetExecutableFile(exe_module->GetPlatformFileSpec(),
+ /*add_as_first_arg*/ true);
+ if (argv)
+ launch_info.SetArguments(argv, /*append*/ true);
+ if (envp)
+ launch_info.SetEnvironmentEntries(envp, /*append*/ false);
+ if (working_directory)
+ launch_info.SetWorkingDirectory(working_directory);
+
SBError error;
- SBListener listener = GetDebugger().GetListener();
- return LLDB_RECORD_RESULT(Launch(listener, argv, envp, stdin_path,
- stdout_path, stderr_path, working_directory,
- launch_flags, stop_at_entry, error));
+ return LLDB_RECORD_RESULT(Launch(launch_info, error));
}
SBError SBTarget::Install() {
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D85235.282985.patch
Type: text/x-patch
Size: 1442 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20200804/c0aca694/attachment.bin>
More information about the lldb-commits
mailing list