Go to the documentation of this file.
16 #include "llvm/Support/FileSystem.h"
21 MonitoringProcessLauncher::MonitoringProcessLauncher(
22 std::unique_ptr<ProcessLauncher> delegate_launcher)
23 : m_delegate_launcher(std::move(delegate_launcher)) {}
41 if (!fs.
Exists(exe_spec)) {
42 error.SetErrorStringWithFormatv(
"executable doesn't exist: '{0}'",
48 assert(!resolved_info.
GetFlags().
Test(eLaunchFlagLaunchInTTY));
57 llvm::Expected<HostThread> maybe_thread =
60 error.SetErrorStringWithFormatv(
"failed to launch host thread: {}",
63 log->
PutCString(
"started monitoring child process.");
67 error.SetErrorString(
"process launch failed for unknown reasons");
const char * toString(AppleArm64ExceptionClass EC)
void SetExecutableFile(const FileSpec &exe_file, bool add_exe_file_as_first_arg)
#define LLDB_INVALID_PROCESS_ID
bool ResolveExecutableLocation(FileSpec &file_spec)
Call into the Host to see if it can help find the file.
bool Test(ValueType bit) const
Test a single flag bit.
bool Exists(const FileSpec &file_spec) const
Returns whether the given file exists.
static llvm::raw_ostream & error(Stream &strm)
llvm::Expected< HostThread > StartMonitoring(const Host::MonitorChildProcessCallback &callback)
HostProcess LaunchProcess(const ProcessLaunchInfo &launch_info, Status &error) override
Launch the process specified in launch_info.
void Resolve(llvm::SmallVectorImpl< char > &path)
Resolve path to make it canonical.
lldb::pid_t GetProcessId() const
std::unique_ptr< ProcessLauncher > m_delegate_launcher
static FileSystem & Instance()
A class that represents a running process on the host machine.
FileSpec & GetExecutableFile()
Log * GetLog(Cat mask)
Retrieve the Log object for the channel associated with the given log enum.
const Host::MonitorChildProcessCallback & GetMonitorProcessCallback() const
void PutCString(const char *cstr)