LLDB mainline
Public Member Functions | Protected Attributes | List of all members
lldb_private::ProcessInfo Class Reference

#include <ProcessInfo.h>

Inheritance diagram for lldb_private::ProcessInfo:
Inheritance graph
[legend]

Public Member Functions

 ProcessInfo ()
 
 ProcessInfo (const char *name, const ArchSpec &arch, lldb::pid_t pid)
 
void Clear ()
 
const char * GetName () const
 
llvm::StringRef GetNameAsStringRef () const
 
FileSpecGetExecutableFile ()
 
void SetExecutableFile (const FileSpec &exe_file, bool add_exe_file_as_first_arg)
 
const FileSpecGetExecutableFile () const
 
uint32_t GetUserID () const
 
uint32_t GetGroupID () const
 
bool UserIDIsValid () const
 
bool GroupIDIsValid () const
 
void SetUserID (uint32_t uid)
 
void SetGroupID (uint32_t gid)
 
ArchSpecGetArchitecture ()
 
const ArchSpecGetArchitecture () const
 
void SetArchitecture (const ArchSpec &arch)
 
lldb::pid_t GetProcessID () const
 
void SetProcessID (lldb::pid_t pid)
 
bool ProcessIDIsValid () const
 
void Dump (Stream &s, Platform *platform) const
 
ArgsGetArguments ()
 
const ArgsGetArguments () const
 
llvm::StringRef GetArg0 () const
 
void SetArg0 (llvm::StringRef arg)
 
void SetArguments (const Args &args, bool first_arg_is_executable)
 
void SetArguments (char const **argv, bool first_arg_is_executable)
 
EnvironmentGetEnvironment ()
 
const EnvironmentGetEnvironment () const
 
bool IsScriptedProcess () const
 
lldb::ScriptedMetadataSP GetScriptedMetadata () const
 
void SetScriptedMetadata (lldb::ScriptedMetadataSP metadata_sp)
 
lldb::ListenerSP GetListener () const
 
void SetListener (const lldb::ListenerSP &listener_sp)
 
lldb::ListenerSP GetHijackListener () const
 
void SetHijackListener (const lldb::ListenerSP &listener_sp)
 
lldb::ListenerSP GetShadowListener () const
 
void SetShadowListener (const lldb::ListenerSP &listener_sp)
 

Protected Attributes

FileSpec m_executable
 
std::string m_arg0
 
Args m_arguments
 
Environment m_environment
 
uint32_t m_uid = UINT32_MAX
 
uint32_t m_gid = UINT32_MAX
 
ArchSpec m_arch
 
lldb::pid_t m_pid = LLDB_INVALID_PROCESS_ID
 
lldb::ScriptedMetadataSP m_scripted_metadata_sp = nullptr
 
lldb::ListenerSP m_listener_sp = nullptr
 
lldb::ListenerSP m_hijack_listener_sp = nullptr
 
lldb::ListenerSP m_shadow_listener_sp = nullptr
 

Detailed Description

Definition at line 30 of file ProcessInfo.h.

Constructor & Destructor Documentation

◆ ProcessInfo() [1/2]

ProcessInfo::ProcessInfo ( )

Definition at line 24 of file ProcessInfo.cpp.

◆ ProcessInfo() [2/2]

ProcessInfo::ProcessInfo ( const char *  name,
const ArchSpec arch,
lldb::pid_t  pid 
)

Definition at line 28 of file ProcessInfo.cpp.

Member Function Documentation

◆ Clear()

void ProcessInfo::Clear ( )

◆ Dump()

void ProcessInfo::Dump ( Stream s,
Platform platform 
) const

◆ GetArchitecture() [1/2]

ArchSpec & lldb_private::ProcessInfo::GetArchitecture ( )
inline

Definition at line 61 of file ProcessInfo.h.

References m_arch.

Referenced by lldb_private::ProcessInstanceInfoMatch::ArchitectureMatches(), lldb_private::Process::CompleteAttach(), lldb_private::ProcessLaunchInfo::ConvertArgumentsForLaunchingInShell(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::CreateProcessInfoResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::CreateProcessInfoResponse_DebugServerStyle(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::DecodeProcessInfoResponse(), CommandObjectPlatformProcessLaunch::DoExecute(), lldb_private::StructuredDataDarwinLog::FilterLaunchInfo(), lldb_private::PlatformAppleSimulator::FindProcesses(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::FindProcesses(), GetFreeBSDProcessCPUType(), GetMacOSXProcessArgs(), GetMacOSXProcessCPUType(), GetNetBSDProcessCPUType(), GetOpenBSDProcessCPUType(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_qfProcessInfo(), lldb_private::Target::Launch(), lldb::SBTarget::Launch(), lldb_private::platform_gdb_server::PlatformRemoteGDBServer::LaunchProcess(), LaunchProcessPosixSpawn(), LaunchProcessXPC(), lldb_private::ProcessInstanceInfoMatch::MatchAllProcesses(), lldb_private::ProcessInstanceInfoMatch::Matches(), lldb_private::NativeProcessWindows::NativeProcessWindows(), lldb_private::NativeProcessWindows::OnDebuggerConnected(), DynamicLoaderPOSIXDYLD::ResolveExecutableModule(), CommandObjectPlatformProcessList::CommandOptions::SetOptionValue(), and lldb_private::CommandOptionsProcessLaunch::SetOptionValue().

◆ GetArchitecture() [2/2]

const ArchSpec & lldb_private::ProcessInfo::GetArchitecture ( ) const
inline

Definition at line 63 of file ProcessInfo.h.

References m_arch.

◆ GetArg0()

llvm::StringRef ProcessInfo::GetArg0 ( ) const

◆ GetArguments() [1/2]

Args & lldb_private::ProcessInfo::GetArguments ( )
inline

Definition at line 75 of file ProcessInfo.h.

References m_arguments.

Referenced by lldb_private::ProcessLaunchInfo::ConvertArgumentsForLaunchingInShell(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::CreateProcessInfoResponse(), lldb_private::PlatformQemuUser::DebugProcess(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::DecodeProcessInfoResponse(), CommandObjectPlatformProcessLaunch::DoExecute(), CommandObjectProcessLaunch::DoExecute(), lldb_private::process_gdb_remote::ProcessGDBRemote::DoLaunch(), GetFreeBSDProcessArgs(), GetMacOSXProcessArgs(), GetNetBSDProcessArgs(), GetOpenBSDProcessArgs(), GetProcessArgs(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_A(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_vRun(), lldb::SBTarget::Launch(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::LaunchProcess(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerPlatform::LaunchProcess(), lldb_private::ProcessLauncherWindows::LaunchProcess(), lldb_private::platform_gdb_server::PlatformRemoteGDBServer::LaunchProcess(), LaunchProcessPosixSpawn(), LaunchProcessXPC(), MaybeLogLaunchInfo(), lldb::SBProcess::RemoteLaunch(), lldb_private::TargetProperties::RunArgsValueChangedCallback(), lldb_private::Host::RunShellCommand(), lldb_private::TargetProperties::SetProcessLaunchInfo(), lldb_private::TargetProperties::SetRunArguments(), CoreSimulatorSupport::Device::Spawn(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::StartDebugserverProcess().

◆ GetArguments() [2/2]

const Args & lldb_private::ProcessInfo::GetArguments ( ) const
inline

Definition at line 77 of file ProcessInfo.h.

References m_arguments.

◆ GetEnvironment() [1/2]

Environment & lldb_private::ProcessInfo::GetEnvironment ( )
inline

◆ GetEnvironment() [2/2]

const Environment & lldb_private::ProcessInfo::GetEnvironment ( ) const
inline

Definition at line 88 of file ProcessInfo.h.

References m_environment.

◆ GetExecutableFile() [1/2]

FileSpec & lldb_private::ProcessInfo::GetExecutableFile ( )
inline

Definition at line 42 of file ProcessInfo.h.

References m_executable.

Referenced by lldb_private::Process::Attach(), lldb_private::Target::Attach(), lldb::SBTarget::AttachToProcessWithName(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::AttachWaitProcess(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::CreateProcessInfoResponse(), lldb_private::DebuggerThread::DebuggerThreadLaunchRoutine(), lldb_private::DebuggerThread::DebugLaunch(), lldb_private::PlatformQemuUser::DebugProcess(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::DecodeProcessInfoResponse(), CommandObjectPlatformProcessLaunch::DoExecute(), CommandObjectProcessLaunch::DoExecute(), lldb_private::process_gdb_remote::ProcessGDBRemote::DoLaunch(), GetExePathAndArch(), GetFreeBSDProcessArgs(), GetMacOSXProcessArgs(), GetNetBSDProcessArgs(), GetNetBSDProcessCPUType(), GetOpenBSDProcessArgs(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_A(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_qfProcessInfo(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_vRun(), lldb_private::Target::Launch(), lldb::SBTarget::Launch(), lldb_private::Process::LaunchPrivate(), lldb_private::MonitoringProcessLauncher::LaunchProcess(), lldb_private::ProcessLauncherWindows::LaunchProcess(), lldb_private::platform_gdb_server::PlatformRemoteGDBServer::LaunchProcess(), lldb_private::ProcessDebugger::LaunchProcess(), lldb_private::ProcessAttachInfo::ProcessInfoSpecified(), lldb_private::ProcessInstanceInfoMatch::ProcessInstanceInfoMatch(), DynamicLoaderPOSIXDYLD::ResolveExecutableModule(), CommandObjectPlatformProcessList::CommandOptions::SetOptionValue(), lldb_private::CommandOptionsProcessAttach::SetOptionValue(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::StartDebugserverProcess().

◆ GetExecutableFile() [2/2]

const FileSpec & lldb_private::ProcessInfo::GetExecutableFile ( ) const
inline

Definition at line 47 of file ProcessInfo.h.

References m_executable.

◆ GetGroupID()

uint32_t lldb_private::ProcessInfo::GetGroupID ( ) const
inline

◆ GetHijackListener()

lldb::ListenerSP lldb_private::ProcessInfo::GetHijackListener ( ) const
inline

◆ GetListener()

lldb::ListenerSP lldb_private::ProcessInfo::GetListener ( ) const
inline

◆ GetName()

const char * ProcessInfo::GetName ( ) const

◆ GetNameAsStringRef()

llvm::StringRef ProcessInfo::GetNameAsStringRef ( ) const

◆ GetProcessID()

lldb::pid_t lldb_private::ProcessInfo::GetProcessID ( ) const
inline

Definition at line 67 of file ProcessInfo.h.

References m_pid.

Referenced by MinidumpFileBuilder::AddLinuxFileStreams(), MinidumpFileBuilder::AddMiscInfo(), lldb_private::Process::Attach(), lldb::SBTarget::Attach(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::CreateProcessInfoResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::CreateProcessInfoResponse_DebugServerStyle(), lldb_private::PlatformWindows::DebugProcess(), lldb_private::Platform::DebugProcess(), lldb_private::PlatformAppleSimulator::DebugProcess(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::DecodeProcessInfoResponse(), CommandObjectPlatformProcessList::DoExecute(), lldb_private::ProcessWindows::DoLaunch(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::FindProcesses(), GetFreeBSDProcessArgs(), GetFreeBSDProcessUserAndGroup(), GetMacOSXProcessArgs(), GetMacOSXProcessCPUType(), GetMacOSXProcessUserAndGroup(), GetNetBSDProcessArgs(), GetNetBSDProcessUserAndGroup(), GetOpenBSDProcessArgs(), GetOpenBSDProcessUserAndGroup(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerPlatform::Handle_qC(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerPlatform::Handle_qProcessInfo(), lldb_private::process_gdb_remote::ProcessGDBRemote::LaunchAndConnectToDebugserver(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerPlatform::LaunchGDBServer(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerPlatform::LaunchProcess(), lldb_private::ProcessLaunchInfo::MonitorProcess(), lldb_private::ProcessInstanceInfoMatch::ProcessIDsMatch(), lldb_private::ProcessAttachInfo::ProcessInfoSpecified(), lldb_private::Host::RunShellCommand(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::StartDebugserverProcess().

◆ GetScriptedMetadata()

lldb::ScriptedMetadataSP lldb_private::ProcessInfo::GetScriptedMetadata ( ) const
inline

◆ GetShadowListener()

lldb::ListenerSP lldb_private::ProcessInfo::GetShadowListener ( ) const
inline

◆ GetUserID()

uint32_t lldb_private::ProcessInfo::GetUserID ( ) const
inline

◆ GroupIDIsValid()

bool lldb_private::ProcessInfo::GroupIDIsValid ( ) const
inline

◆ IsScriptedProcess()

bool ProcessInfo::IsScriptedProcess ( ) const

◆ ProcessIDIsValid()

bool lldb_private::ProcessInfo::ProcessIDIsValid ( ) const
inline

◆ SetArchitecture()

void lldb_private::ProcessInfo::SetArchitecture ( const ArchSpec arch)
inline

◆ SetArg0()

void ProcessInfo::SetArg0 ( llvm::StringRef  arg)

◆ SetArguments() [1/2]

void ProcessInfo::SetArguments ( char const **  argv,
bool  first_arg_is_executable 
)

◆ SetArguments() [2/2]

void ProcessInfo::SetArguments ( const Args args,
bool  first_arg_is_executable 
)

◆ SetExecutableFile()

void ProcessInfo::SetExecutableFile ( const FileSpec exe_file,
bool  add_exe_file_as_first_arg 
)

◆ SetGroupID()

void lldb_private::ProcessInfo::SetGroupID ( uint32_t  gid)
inline

◆ SetHijackListener()

void lldb_private::ProcessInfo::SetHijackListener ( const lldb::ListenerSP listener_sp)
inline

◆ SetListener()

void lldb_private::ProcessInfo::SetListener ( const lldb::ListenerSP listener_sp)
inline

◆ SetProcessID()

void lldb_private::ProcessInfo::SetProcessID ( lldb::pid_t  pid)
inline

◆ SetScriptedMetadata()

void lldb_private::ProcessInfo::SetScriptedMetadata ( lldb::ScriptedMetadataSP  metadata_sp)
inline

◆ SetShadowListener()

void lldb_private::ProcessInfo::SetShadowListener ( const lldb::ListenerSP listener_sp)
inline

Definition at line 115 of file ProcessInfo.h.

References m_shadow_listener_sp.

◆ SetUserID()

void lldb_private::ProcessInfo::SetUserID ( uint32_t  uid)
inline

◆ UserIDIsValid()

bool lldb_private::ProcessInfo::UserIDIsValid ( ) const
inline

Member Data Documentation

◆ m_arch

ArchSpec lldb_private::ProcessInfo::m_arch
protected

◆ m_arg0

std::string lldb_private::ProcessInfo::m_arg0
protected

◆ m_arguments

Args lldb_private::ProcessInfo::m_arguments
protected

◆ m_environment

Environment lldb_private::ProcessInfo::m_environment
protected

◆ m_executable

FileSpec lldb_private::ProcessInfo::m_executable
protected

◆ m_gid

uint32_t lldb_private::ProcessInfo::m_gid = UINT32_MAX
protected

Definition at line 127 of file ProcessInfo.h.

Referenced by Clear(), GetGroupID(), GroupIDIsValid(), and SetGroupID().

◆ m_hijack_listener_sp

lldb::ListenerSP lldb_private::ProcessInfo::m_hijack_listener_sp = nullptr
protected

◆ m_listener_sp

lldb::ListenerSP lldb_private::ProcessInfo::m_listener_sp = nullptr
protected

Definition at line 131 of file ProcessInfo.h.

Referenced by lldb_private::ProcessLaunchInfo::Clear(), GetListener(), and SetListener().

◆ m_pid

lldb::pid_t lldb_private::ProcessInfo::m_pid = LLDB_INVALID_PROCESS_ID
protected

◆ m_scripted_metadata_sp

lldb::ScriptedMetadataSP lldb_private::ProcessInfo::m_scripted_metadata_sp = nullptr
protected

Definition at line 130 of file ProcessInfo.h.

Referenced by Clear(), GetScriptedMetadata(), IsScriptedProcess(), and SetScriptedMetadata().

◆ m_shadow_listener_sp

lldb::ListenerSP lldb_private::ProcessInfo::m_shadow_listener_sp = nullptr
protected

Definition at line 133 of file ProcessInfo.h.

Referenced by GetShadowListener(), and SetShadowListener().

◆ m_uid

uint32_t lldb_private::ProcessInfo::m_uid = UINT32_MAX
protected

Definition at line 126 of file ProcessInfo.h.

Referenced by Clear(), GetUserID(), SetUserID(), and UserIDIsValid().


The documentation for this class was generated from the following files: