LLDB mainline
Public Member Functions | List of all members
lldb_private::process_freebsd::NativeProcessFreeBSD::Manager Class Reference

#include <NativeProcessFreeBSD.h>

Inheritance diagram for lldb_private::process_freebsd::NativeProcessFreeBSD::Manager:
Inheritance graph
[legend]

Public Member Functions

llvm::Expected< std::unique_ptr< NativeProcessProtocol > > Launch (ProcessLaunchInfo &launch_info, NativeDelegate &native_delegate) override
 Launch a process for debugging.
 
llvm::Expected< std::unique_ptr< NativeProcessProtocol > > Attach (lldb::pid_t pid, NativeDelegate &native_delegate) override
 Attach to an existing process.
 
Extension GetSupportedExtensions () const override
 Get the bitmask of extensions supported by this process plugin.
 
- Public Member Functions inherited from lldb_private::NativeProcessProtocol::Manager
 Manager (MainLoop &mainloop)
 
 Manager (const Manager &)=delete
 
Manageroperator= (const Manager &)=delete
 
virtual ~Manager ()
 
virtual llvm::Expected< std::unique_ptr< NativeProcessProtocol > > Launch (ProcessLaunchInfo &launch_info, NativeDelegate &native_delegate)=0
 Launch a process for debugging.
 
virtual llvm::Expected< std::unique_ptr< NativeProcessProtocol > > Attach (lldb::pid_t pid, NativeDelegate &native_delegate)=0
 Attach to an existing process.
 
virtual Extension GetSupportedExtensions () const
 Get the bitmask of extensions supported by this process plugin.
 

Additional Inherited Members

- Protected Attributes inherited from lldb_private::NativeProcessProtocol::Manager
MainLoopm_mainloop
 

Detailed Description

Definition at line 33 of file NativeProcessFreeBSD.h.

Member Function Documentation

◆ Attach()

llvm::Expected< std::unique_ptr< NativeProcessProtocol > > NativeProcessFreeBSD::Manager::Attach ( lldb::pid_t  pid,
NativeDelegate native_delegate 
)
overridevirtual

Attach to an existing process.

Parameters
[in]pidpid of the process locatable
[in]native_delegateThe delegate that will receive messages regarding the inferior. Must outlive the NativeProcessProtocol instance.
[in]mainloopThe mainloop instance with which the process can register callbacks. Must outlive the NativeProcessProtocol instance.
Returns
A NativeProcessProtocol shared pointer if the operation succeeded or an error object if it failed.

Implements lldb_private::NativeProcessProtocol::Manager.

Definition at line 125 of file NativeProcessFreeBSD.cpp.

References lldb_private::GetLog(), lldb_private::Host::GetProcessInfo(), LLDB_LOG, lldb_private::Process, lldb_private::Status::Success(), and lldb_private::Status::ToError().

◆ GetSupportedExtensions()

NativeProcessFreeBSD::Extension NativeProcessFreeBSD::Manager::GetSupportedExtensions ( ) const
overridevirtual

◆ Launch()

llvm::Expected< std::unique_ptr< NativeProcessProtocol > > NativeProcessFreeBSD::Manager::Launch ( ProcessLaunchInfo launch_info,
NativeDelegate native_delegate 
)
overridevirtual

Launch a process for debugging.

Parameters
[in]launch_infoInformation required to launch the process.
[in]native_delegateThe delegate that will receive messages regarding the inferior. Must outlive the NativeProcessProtocol instance.
[in]mainloopThe mainloop instance with which the process can register callbacks. Must outlive the NativeProcessProtocol instance.
Returns
A NativeProcessProtocol shared pointer if the operation succeeded or an error object if it failed.

Implements lldb_private::NativeProcessProtocol::Manager.

Definition at line 69 of file NativeProcessFreeBSD.cpp.

References CanTrace(), lldb_private::WaitStatus::Decode(), error(), lldb_private::Status::Fail(), lldb_private::GetLog(), lldb_private::HostProcess::GetProcessId(), lldb_private::Host::GetProcessInfo(), lldb_private::ProcessLaunchInfo::GetPTY(), lldb_private::ProcessLauncherPosixFork::LaunchProcess(), LLDB_LOG, lldb_private::NativeProcessProtocol::Manager::m_mainloop, lldb_private::Process, lldb_private::PseudoTerminal::ReleasePrimaryFileDescriptor(), lldb_private::process_freebsd::NativeThreadFreeBSD::SetStoppedBySignal(), SIGSTOP, lldb_private::Status::ToError(), and UNUSED_IF_ASSERT_DISABLED.


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