|
LLDB mainline
|
#include <ProcessLauncherWindows.h>
Public Member Functions | |
| HostProcess | LaunchProcess (const ProcessLaunchInfo &launch_info, Status &error) override |
| Public Member Functions inherited from lldb_private::ProcessLauncher | |
| virtual | ~ProcessLauncher ()=default |
Protected Member Functions | |
| HANDLE | GetStdioHandle (const ProcessLaunchInfo &launch_info, int fd) |
| llvm::ErrorOr< std::vector< HANDLE > > | GetInheritedHandles (const ProcessLaunchInfo &launch_info, STARTUPINFOEXW &startupinfoex, HANDLE stdout_handle=NULL, HANDLE stderr_handle=NULL, HANDLE stdin_handle=NULL) |
| Get the list of Windows handles that should be inherited by the child process and update STARTUPINFOEXW with the handle list. | |
Definition at line 20 of file ProcessLauncherWindows.h.
|
protected |
Get the list of Windows handles that should be inherited by the child process and update STARTUPINFOEXW with the handle list.
If no handles need to be inherited, an empty vector is returned.
Otherwise, the function populates the PROC_THREAD_ATTRIBUTE_HANDLE_LIST attribute in startupinfoex with the collected handles using UpdateProcThreadAttribute. On success, the vector of inherited handles is returned.
| launch_info | The process launch configuration. |
| startupinfoex | The extended STARTUPINFO structure for the process being created. |
| stdout_handle | |
| stderr_handle | |
| stdin_handle | Optional explicit standard stream handles to use for the child process. |
Definition at line 195 of file ProcessLauncherWindows.cpp.
References lldb_private::FileAction::eFileActionDuplicate, lldb_private::FileAction::GetAction(), lldb_private::FileAction::GetActionArgument(), lldb_private::FileAction::GetFD(), lldb_private::ProcessLaunchInfo::GetFileActionAtIndex(), and lldb_private::ProcessLaunchInfo::GetNumFileActions().
Referenced by LaunchProcess().
|
protected |
Definition at line 235 of file ProcessLauncherWindows.cpp.
References lldb_private::ProcessLaunchInfo::GetFileActionForFD(), lldb_private::FileAction::GetFileSpec(), and lldb_private::FileSpec::GetPath().
Referenced by LaunchProcess().
|
overridevirtual |
Implements lldb_private::ProcessLauncher.
Definition at line 85 of file ProcessLauncherWindows.cpp.
References CreateEnvironmentBufferW(), lldb::eErrorTypeWin32, error(), lldb_private::ProcessInfo::GetArguments(), lldb_private::ProcessInfo::GetEnvironment(), lldb_private::ProcessInfo::GetExecutableFile(), lldb_private::ProcessLaunchInfo::GetFlags(), GetFlattenedWindowsCommandStringW(), GetInheritedHandles(), lldb_private::FileSpec::GetPath(), GetStdioHandle(), lldb_private::ProcessLaunchInfo::GetWorkingDirectory(), lldb_private::Status, and lldb_private::Flags::Test().
Referenced by lldb_private::DebuggerThread::DebuggerThreadLaunchRoutine().