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]
Collaboration diagram for lldb_private::ProcessInfo:
Collaboration graph
[legend]

Public Member Functions

 ProcessInfo ()
 
 ProcessInfo (const char *name, const ArchSpec &arch, lldb::pid_t pid)
 
void Clear ()
 
const char * GetName () const
 
size_t GetNameLength () 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
 

Protected Attributes

FileSpec m_executable
 
std::string m_arg0
 
Args m_arguments
 
Environment m_environment
 
uint32_t m_uid
 
uint32_t m_gid
 
ArchSpec m_arch
 
lldb::pid_t m_pid
 

Detailed Description

Definition at line 31 of file ProcessInfo.h.

Constructor & Destructor Documentation

◆ ProcessInfo() [1/2]

ProcessInfo::ProcessInfo ( )

Definition at line 22 of file ProcessInfo.cpp.

◆ ProcessInfo() [2/2]

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

Definition at line 26 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 62 of file ProcessInfo.h.

References m_arch.

Referenced by lldb_private::process_netbsd::NativeProcessNetBSD::Factory::Attach(), lldb_private::process_linux::NativeProcessLinux::Factory::Attach(), 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(), PlatformAppleTVSimulator::FindProcesses(), PlatformAppleWatchSimulator::FindProcesses(), PlatformiOSSimulator::FindProcesses(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::FindProcesses(), GetFreeBSDProcessCPUType(), GetMacOSXProcessArgs(), GetMacOSXProcessCPUType(), GetNetBSDProcessCPUType(), GetOpenBSDProcessCPUType(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_qfProcessInfo(), lldb_private::process_netbsd::NativeProcessNetBSD::Factory::Launch(), lldb_private::process_linux::NativeProcessLinux::Factory::Launch(), lldb::SBTarget::Launch(), lldb_private::Target::Launch(), LaunchInNewTerminalWithAppleScript(), lldb_private::platform_gdb_server::PlatformRemoteGDBServer::LaunchProcess(), LaunchProcessPosixSpawn(), LaunchProcessXPC(), lldb_private::ProcessInstanceInfoMatch::Matches(), lldb_private::darwin_process_launcher::PosixSpawnChildForPTraceDebugging(), DynamicLoaderPOSIXDYLD::ResolveExecutableModule(), and lldb_private::StructuredDataDarwinLog::~StructuredDataDarwinLog().

◆ GetArchitecture() [2/2]

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

Definition at line 64 of file ProcessInfo.h.

References m_arch.

◆ GetArg0()

llvm::StringRef ProcessInfo::GetArg0 ( ) const

Definition at line 76 of file ProcessInfo.cpp.

References m_arg0.

Referenced by GetArguments(), and lldb_private::TargetProperties::SetProcessLaunchInfo().

◆ GetArguments() [1/2]

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

◆ GetArguments() [2/2]

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

Definition at line 78 of file ProcessInfo.h.

References GetArg0(), m_arguments, SetArg0(), and SetArguments().

◆ GetEnvironment() [1/2]

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

◆ GetEnvironment() [2/2]

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

Definition at line 89 of file ProcessInfo.h.

References m_environment.

◆ GetExecutableFile() [1/2]

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

Definition at line 43 of file ProcessInfo.h.

References m_executable, and SetExecutableFile().

Referenced by lldb_private::Target::Attach(), lldb_private::Process::Attach(), lldb::SBTarget::AttachToProcessWithName(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::CreateProcessInfoResponse(), lldb_private::DebuggerThread::DebugAttach(), lldb_private::DebuggerThread::DebugLaunch(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::DecodeProcessInfoResponse(), ProcessFreeBSD::DoAttachToProcessWithID(), ProcessFreeBSD::DoDidExec(), lldb_private::ProcessWindows::DoLaunch(), GetFreeBSDProcessArgs(), GetMacOSXProcessArgs(), GetNetBSDProcessArgs(), GetOpenBSDProcessArgs(), GetProcessAndStatInfo(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_A(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_qfProcessInfo(), CommandObjectProcessAttach::CommandOptions::HandleOptionArgumentCompletion(), CommandObjectPlatformProcessAttach::CommandOptions::HandleOptionArgumentCompletion(), lldb::SBTarget::Launch(), lldb_private::Target::Launch(), lldb_private::darwin_process_launcher::LaunchInferior(), lldb_private::ProcessLauncherPosixFork::LaunchProcess(), lldb_private::ProcessLauncherWindows::LaunchProcess(), lldb_private::MonitoringProcessLauncher::LaunchProcess(), DynamicLoaderPOSIXDYLD::ResolveExecutableModule(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::SendArgumentsPacket(), ShouldLaunchUsingXPC(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::StartDebugserverProcess().

◆ GetExecutableFile() [2/2]

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

Definition at line 48 of file ProcessInfo.h.

References m_executable.

◆ GetGroupID()

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

◆ GetName()

const char * ProcessInfo::GetName ( ) const

◆ GetNameLength()

size_t ProcessInfo::GetNameLength ( ) const

◆ GetProcessID()

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

Definition at line 68 of file ProcessInfo.h.

References m_pid.

Referenced by lldb::SBTarget::Attach(), lldb_private::Process::Attach(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::CreateProcessInfoResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::CreateProcessInfoResponse_DebugServerStyle(), PlatformAppleSimulator::DebugProcess(), lldb_private::PlatformWindows::DebugProcess(), lldb_private::Platform::DebugProcess(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::DecodeProcessInfoResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::FindProcesses(), GetFreeBSDProcessArgs(), GetFreeBSDProcessUserAndGroup(), GetMacOSXProcessArgs(), GetMacOSXProcessCPUType(), GetMacOSXProcessUserAndGroup(), GetNetBSDProcessArgs(), GetNetBSDProcessUserAndGroup(), GetOpenBSDProcessArgs(), GetOpenBSDProcessUserAndGroup(), lldb_private::ProcessInstanceInfoList::GetProcessIDAtIndex(), 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::darwin_process_launcher::LaunchInferior(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerPlatform::LaunchProcess(), lldb_private::ProcessInstanceInfoMatch::Matches(), lldb_private::ProcessLaunchInfo::MonitorProcess(), lldb_private::Host::RunShellCommand(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::StartDebugserverProcess().

◆ GetUserID()

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

◆ GroupIDIsValid()

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

◆ 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 ( const Args args,
bool  first_arg_is_executable 
)

◆ SetArguments() [2/2]

void ProcessInfo::SetArguments ( char const **  argv,
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

◆ SetProcessID()

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

◆ 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

Definition at line 93 of file ProcessInfo.h.

Referenced by GetArg0(), and SetArg0().

◆ m_arguments

Args lldb_private::ProcessInfo::m_arguments
protected

◆ m_environment

Environment lldb_private::ProcessInfo::m_environment
protected

Definition at line 97 of file ProcessInfo.h.

Referenced by Clear(), Dump(), lldb_private::ProcessInstanceInfo::Dump(), and GetEnvironment().

◆ m_executable

FileSpec lldb_private::ProcessInfo::m_executable
protected

◆ m_gid

uint32_t lldb_private::ProcessInfo::m_gid
protected

◆ m_pid

lldb::pid_t lldb_private::ProcessInfo::m_pid
protected

◆ m_uid

uint32_t lldb_private::ProcessInfo::m_uid
protected

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