LLDB mainline
lldb::SBProcess Class Reference

#include <SBProcess.h>

Public Member Functions

 FLAGS_ANONYMOUS_ENUM ()
 Broadcaster event bits definitions.
 SBProcess ()
 SBProcess (const lldb::SBProcess &rhs)
const lldb::SBProcessoperator= (const lldb::SBProcess &rhs)
 ~SBProcess ()
const char * GetPluginName ()
 LLDB_DEPRECATED_FIXME ("Use GetPluginName()", "GetPluginName()") const char *GetShortPluginName()
void Clear ()
 operator bool () const
bool IsValid () const
lldb::SBTarget GetTarget () const
lldb::ByteOrder GetByteOrder () const
size_t PutSTDIN (const char *src, size_t src_len)
size_t GetSTDOUT (char *dst, size_t dst_len) const
size_t GetSTDERR (char *dst, size_t dst_len) const
size_t GetAsyncProfileData (char *dst, size_t dst_len) const
void ReportEventState (const lldb::SBEvent &event, FILE *out) const
void ReportEventState (const lldb::SBEvent &event, SBFile file) const
void ReportEventState (const lldb::SBEvent &event, FileSP BORROWED) const
void AppendEventStateReport (const lldb::SBEvent &event, lldb::SBCommandReturnObject &result)
bool RemoteAttachToProcessWithID (lldb::pid_t pid, lldb::SBError &error)
 Remote connection related functions.
bool RemoteLaunch (char const **argv, char const **envp, const char *stdin_path, const char *stdout_path, const char *stderr_path, const char *working_directory, uint32_t launch_flags, bool stop_at_entry, lldb::SBError &error)
uint32_t GetNumThreads ()
lldb::SBThread GetThreadAtIndex (size_t index)
lldb::SBThread GetThreadByID (lldb::tid_t sb_thread_id)
lldb::SBThread GetThreadByIndexID (uint32_t index_id)
lldb::SBThread GetSelectedThread () const
lldb::SBThread CreateOSPluginThread (lldb::tid_t tid, lldb::addr_t context)
bool SetSelectedThread (const lldb::SBThread &thread)
bool SetSelectedThreadByID (lldb::tid_t tid)
bool SetSelectedThreadByIndexID (uint32_t index_id)
uint32_t GetNumQueues ()
lldb::SBQueue GetQueueAtIndex (size_t index)
lldb::StateType GetState ()
int GetExitStatus ()
const char * GetExitDescription ()
lldb::pid_t GetProcessID ()
 Gets the process ID.
uint32_t GetUniqueID ()
 Gets the unique ID associated with this process object.
uint32_t GetAddressByteSize () const
lldb::SBError Destroy ()
lldb::SBError Continue ()
lldb::SBError ContinueInDirection (lldb::RunDirection direction)
lldb::SBError Stop ()
lldb::SBError Kill ()
lldb::SBError Detach ()
lldb::SBError Detach (bool keep_stopped)
lldb::SBError Signal (int signal)
lldb::SBUnixSignals GetUnixSignals ()
void SendAsyncInterrupt ()
uint32_t GetStopID (bool include_expression_stops=false)
lldb::SBEvent GetStopEventForStopID (uint32_t stop_id)
 Gets the stop event corresponding to stop ID.
void ForceScriptedState (StateType new_state)
 If the process is a scripted process, changes its state to the new state.
size_t ReadMemory (addr_t addr, void *buf, size_t size, lldb::SBError &error)
size_t WriteMemory (addr_t addr, const void *buf, size_t size, lldb::SBError &error)
size_t ReadCStringFromMemory (addr_t addr, void *char_buf, size_t size, lldb::SBError &error)
uint64_t ReadUnsignedFromMemory (addr_t addr, uint32_t byte_size, lldb::SBError &error)
lldb::addr_t ReadPointerFromMemory (addr_t addr, lldb::SBError &error)
lldb::SBAddressRangeList FindRangesInMemory (const void *buf, uint64_t size, const SBAddressRangeList &ranges, uint32_t alignment, uint32_t max_matches, SBError &error)
lldb::addr_t FindInMemory (const void *buf, uint64_t size, const SBAddressRange &range, uint32_t alignment, SBError &error)
lldb::SBBroadcaster GetBroadcaster () const
bool GetDescription (lldb::SBStream &description)
SBStructuredData GetExtendedCrashInformation ()
uint32_t GetNumSupportedHardwareWatchpoints (lldb::SBError &error) const
uint32_t LoadImage (lldb::SBFileSpec &remote_image_spec, lldb::SBError &error)
 Load a shared library into this process.
uint32_t LoadImage (const lldb::SBFileSpec &local_image_spec, const lldb::SBFileSpec &remote_image_spec, lldb::SBError &error)
 Load a shared library into this process.
uint32_t LoadImageUsingPaths (const lldb::SBFileSpec &image_spec, SBStringList &paths, lldb::SBFileSpec &loaded_path, lldb::SBError &error)
 Load a shared library into this process, starting with a library name and a list of paths, searching along the list of paths till you find a matching library.
lldb::SBError UnloadImage (uint32_t image_token)
lldb::SBError SendEventData (const char *data)
uint32_t GetNumExtendedBacktraceTypes ()
 Return the number of different thread-origin extended backtraces this process can support.
const char * GetExtendedBacktraceTypeAtIndex (uint32_t idx)
 Return the name of one of the thread-origin extended backtrace methods.
lldb::SBThreadCollection GetHistoryThreads (addr_t addr)
bool IsInstrumentationRuntimePresent (InstrumentationRuntimeType type)
lldb::SBError SaveCore (const char *file_name, const char *flavor, SaveCoreStyle core_style)
 Save the state of the process in a core file.
lldb::SBError SaveCore (const char *file_name)
 Save the state of the process with the a flavor that matches the current process' main executable (if supported).
lldb::SBError SaveCore (SBSaveCoreOptions &options)
 Save the state of the process with the desired settings as defined in the options object.
lldb::SBError GetMemoryRegionInfo (lldb::addr_t load_addr, lldb::SBMemoryRegionInfo &region_info)
 Query the address load_addr and store the details of the memory region that contains it in the supplied SBMemoryRegionInfo object.
lldb::SBMemoryRegionInfoList GetMemoryRegions ()
 Return the list of memory regions within the process.
lldb::SBProcessInfo GetProcessInfo ()
 Return information about the process.
lldb::SBFileSpec GetCoreFile ()
 Get the file specification for the core file that is currently being used for the process.
lldb::addr_t AllocateMemory (size_t size, uint32_t permissions, lldb::SBError &error)
 Allocate memory within the process.
lldb::SBError DeallocateMemory (lldb::addr_t ptr)
 Deallocate memory in the process.
lldb::SBScriptObject GetScriptedImplementation ()
void GetStatus (SBStream &status)
lldb::addr_t GetAddressMask (lldb::AddressMaskType type, lldb::AddressMaskRange addr_range=lldb::eAddressMaskRangeLow)
 Get the current address mask that will be applied to addresses before reading from memory.
void SetAddressMask (lldb::AddressMaskType type, lldb::addr_t mask, lldb::AddressMaskRange addr_range=lldb::eAddressMaskRangeLow)
 Set the current address mask that can be applied to addresses before reading from memory.
void SetAddressableBits (AddressMaskType type, uint32_t num_bits, AddressMaskRange addr_range=lldb::eAddressMaskRangeLow)
 Set the number of bits used for addressing in this Process.
lldb::addr_t FixAddress (lldb::addr_t addr, lldb::AddressMaskType type=lldb::eAddressMaskTypeAny)
 Clear the non-address bits of an addr value and return a virtual address in memory.

Static Public Member Functions

static const char * GetBroadcasterClassName ()
static lldb::StateType GetStateFromEvent (const lldb::SBEvent &event)
static bool GetRestartedFromEvent (const lldb::SBEvent &event)
static size_t GetNumRestartedReasonsFromEvent (const lldb::SBEvent &event)
static const char * GetRestartedReasonAtIndexFromEvent (const lldb::SBEvent &event, size_t idx)
static lldb::SBProcess GetProcessFromEvent (const lldb::SBEvent &event)
static bool GetInterruptedFromEvent (const lldb::SBEvent &event)
static lldb::SBStructuredData GetStructuredDataFromEvent (const lldb::SBEvent &event)
static bool EventIsProcessEvent (const lldb::SBEvent &event)
static bool EventIsStructuredDataEvent (const lldb::SBEvent &event)
static const char * GetBroadcasterClass ()

Protected Member Functions

 SBProcess (const lldb::ProcessSP &process_sp)
lldb::ProcessSP GetSP () const
void SetSP (const lldb::ProcessSP &process_sp)

Protected Attributes

lldb::ProcessWP m_opaque_wp

Friends

class SBAddress
class SBBreakpoint
class SBBreakpointCallbackBaton
class SBBreakpointLocation
class SBCommandInterpreter
class SBSaveCoreOptions
class SBDebugger
class SBExecutionContext
class SBFunction
class SBModule
class SBPlatform
class SBTarget
class SBThread
class SBValue
class lldb_private::QueueImpl
class lldb_private::python::SWIGBridge

Detailed Description

Definition at line 29 of file SBProcess.h.

Constructor & Destructor Documentation

◆ SBProcess() [1/3]

SBProcess::SBProcess ( )

◆ SBProcess() [2/3]

SBProcess::SBProcess ( const lldb::SBProcess & rhs)

Definition at line 60 of file SBProcess.cpp.

References LLDB_INSTRUMENT_VA, m_opaque_wp, and SBProcess().

◆ ~SBProcess()

SBProcess::~SBProcess ( )
default

◆ SBProcess() [3/3]

SBProcess::SBProcess ( const lldb::ProcessSP & process_sp)
protected

Definition at line 64 of file SBProcess.cpp.

References LLDB_INSTRUMENT_VA, and m_opaque_wp.

Member Function Documentation

◆ AllocateMemory()

lldb::addr_t SBProcess::AllocateMemory ( size_t size,
uint32_t permissions,
lldb::SBError & error )

Allocate memory within the process.

This function will allocate memory in the process's address space.

Parameters
[in]sizeThe size of the allocation requested.
[in]permissionsOr together any of the lldb::Permissions bits. The permissions on a given memory allocation can't be changed after allocation. Note that a block that isn't set writable can still be written from lldb, just not by the process itself.
[out]errorAn error object that gets filled in with any errors that might occur when trying allocate.
Returns
The address of the allocated buffer in the process, or LLDB_INVALID_ADDRESS if the allocation failed.

Definition at line 1444 of file SBProcess.cpp.

References lldb_private::Status::FromErrorString(), GetSP(), LLDB_INSTRUMENT_VA, LLDB_INVALID_ADDRESS, lldb::SBError::ref(), and lldb_private::ProcessRunLock::ProcessRunLocker::TryLock().

Referenced by LLDB_DEPRECATED_FIXME().

◆ AppendEventStateReport()

void SBProcess::AppendEventStateReport ( const lldb::SBEvent & event,
lldb::SBCommandReturnObject & result )

◆ Clear()

void SBProcess::Clear ( )

Definition at line 110 of file SBProcess.cpp.

References LLDB_INSTRUMENT_VA, and m_opaque_wp.

Referenced by LLDB_DEPRECATED_FIXME().

◆ Continue()

SBError SBProcess::Continue ( )

◆ ContinueInDirection()

SBError SBProcess::ContinueInDirection ( lldb::RunDirection direction)

◆ CreateOSPluginThread()

SBThread SBProcess::CreateOSPluginThread ( lldb::tid_t tid,
lldb::addr_t context )

Definition at line 222 of file SBProcess.cpp.

References GetSP(), LLDB_INSTRUMENT_VA, SBThread, and lldb::SBThread::SetThread().

Referenced by LLDB_DEPRECATED_FIXME().

◆ DeallocateMemory()

lldb::SBError SBProcess::DeallocateMemory ( lldb::addr_t ptr)

Deallocate memory in the process.

This function will deallocate memory in the process's address space that was allocated with AllocateMemory.

Parameters
[in]ptrA return value from AllocateMemory, pointing to the memory you want to deallocate.
Returns
An error object describes any errors that occurred while deallocating.

Definition at line 1465 of file SBProcess.cpp.

References error(), lldb_private::Status::FromErrorString(), GetSP(), LLDB_INSTRUMENT_VA, lldb::SBError::SetError(), and lldb_private::ProcessRunLock::ProcessRunLocker::TryLock().

Referenced by LLDB_DEPRECATED_FIXME().

◆ Destroy()

SBError SBProcess::Destroy ( )

◆ Detach() [1/2]

SBError SBProcess::Detach ( )

Definition at line 645 of file SBProcess.cpp.

References Detach(), and LLDB_INSTRUMENT_VA.

Referenced by Detach(), and LLDB_DEPRECATED_FIXME().

◆ Detach() [2/2]

SBError SBProcess::Detach ( bool keep_stopped)

◆ EventIsProcessEvent()

bool SBProcess::EventIsProcessEvent ( const lldb::SBEvent & event)
static

◆ EventIsStructuredDataEvent()

bool SBProcess::EventIsStructuredDataEvent ( const lldb::SBEvent & event)
static

◆ FindInMemory()

lldb::addr_t SBProcess::FindInMemory ( const void * buf,
uint64_t size,
const SBAddressRange & range,
uint32_t alignment,
SBError & error )

◆ FindRangesInMemory()

◆ FixAddress()

addr_t SBProcess::FixAddress ( lldb::addr_t addr,
lldb::AddressMaskType type = lldb::eAddressMaskTypeAny )

Clear the non-address bits of an addr value and return a virtual address in memory.

Bits that are not used in addressing may be used for other purposes; pointer authentication, or metadata in the top byte, or the 0th bit of armv7 code addresses to indicate arm/thumb are common examples.

Parameters
[in]addrThe address that should be cleared of non-address bits.
[in]typeSee Mask Address Methods description of this argument. eAddressMaskTypeAny is the default value, correct when it is unknown if the address is a code or data address.

Definition at line 1430 of file SBProcess.cpp.

References lldb::eAddressMaskTypeAny, lldb::eAddressMaskTypeCode, lldb::eAddressMaskTypeData, GetSP(), and LLDB_INSTRUMENT_VA.

Referenced by LLDB_DEPRECATED_FIXME().

◆ FLAGS_ANONYMOUS_ENUM()

lldb::SBProcess::FLAGS_ANONYMOUS_ENUM ( )
inline

Broadcaster event bits definitions.

Definition at line 32 of file SBProcess.h.

◆ ForceScriptedState()

void SBProcess::ForceScriptedState ( StateType new_state)

If the process is a scripted process, changes its state to the new state.

No-op otherwise.

Parameters
[in]new_stateThe new state that the scripted process should be set to.

Definition at line 475 of file SBProcess.cpp.

References GetSP(), and LLDB_INSTRUMENT_VA.

Referenced by LLDB_DEPRECATED_FIXME().

◆ GetAddressByteSize()

uint32_t SBProcess::GetAddressByteSize ( ) const

Definition at line 557 of file SBProcess.cpp.

References GetSP(), and LLDB_INSTRUMENT_VA.

Referenced by LLDB_DEPRECATED_FIXME().

◆ GetAddressMask()

addr_t SBProcess::GetAddressMask ( lldb::AddressMaskType type,
lldb::AddressMaskRange addr_range = lldb::eAddressMaskRangeLow )

Get the current address mask that will be applied to addresses before reading from memory.

\group Mask Address Methods

type All of the methods in this group take type argument which is an AddressMaskType enum value. There can be different address masks for code addresses and data addresses, this argument can select which to get/set, or to use when clearing non-addressable bits from an address. This choice of mask can be important for example on AArch32 systems. Where instructions where instructions start on even addresses, the 0th bit may be used to indicate that a function is thumb code. On such a target, the eAddressMaskTypeCode may clear the 0th bit from an address to get the actual address Whereas eAddressMaskTypeData would not.

addr_range Many of the methods in this group take an addr_range argument which is an AddressMaskRange enum value. Needing to specify the address range is highly unusual, and the default argument can be used in nearly all circumstances. On some architectures (e.g., AArch64), it is possible to have different page table setups for low and high memory, so different numbers of bits relevant to addressing. It is possible to have a program running in one half of memory and accessing the other as heap, so we need to maintain two different sets of address masks to debug this correctly.

Parameters
[in]typeSee Mask Address Methods description of this argument. eAddressMaskTypeAny is often a suitable value when code and data masks are the same on a given target.
[in]addr_rangeSee Mask Address Methods description of this argument. This will default to eAddressMaskRangeLow which is the only set of masks used normally.
Returns
The address mask currently in use. Bits which are not used for addressing will be set to 1 in the mask.

Definition at line 1352 of file SBProcess.cpp.

References lldb::eAddressMaskRangeHigh, lldb::eAddressMaskTypeAny, lldb::eAddressMaskTypeCode, lldb::eAddressMaskTypeData, GetSP(), LLDB_INSTRUMENT_VA, and LLDB_INVALID_ADDRESS_MASK.

Referenced by LLDB_DEPRECATED_FIXME().

◆ GetAsyncProfileData()

size_t SBProcess::GetAsyncProfileData ( char * dst,
size_t dst_len ) const

Definition at line 292 of file SBProcess.cpp.

References error(), GetSP(), and LLDB_INSTRUMENT_VA.

Referenced by LLDB_DEPRECATED_FIXME().

◆ GetBroadcaster()

SBBroadcaster SBProcess::GetBroadcaster ( ) const

Definition at line 812 of file SBProcess.cpp.

References GetSP(), and LLDB_INSTRUMENT_VA.

Referenced by LLDB_DEPRECATED_FIXME().

◆ GetBroadcasterClass()

const char * SBProcess::GetBroadcasterClass ( )
static

◆ GetBroadcasterClassName()

const char * SBProcess::GetBroadcasterClassName ( )
static

◆ GetByteOrder()

ByteOrder SBProcess::GetByteOrder ( ) const

Definition at line 546 of file SBProcess.cpp.

References lldb::eByteOrderInvalid, GetSP(), and LLDB_INSTRUMENT_VA.

Referenced by LLDB_DEPRECATED_FIXME().

◆ GetCoreFile()

lldb::SBFileSpec SBProcess::GetCoreFile ( )

Get the file specification for the core file that is currently being used for the process.

If the process is not loaded from a core file, then an invalid file specification will be returned.

Returns
The path to the core file for this target or an invalid file spec if the process isn't loaded from a core file.

Definition at line 1341 of file SBProcess.cpp.

References GetSP(), LLDB_INSTRUMENT_VA, and lldb::SBFileSpec.

Referenced by LLDB_DEPRECATED_FIXME().

◆ GetDescription()

◆ GetExitDescription()

const char * SBProcess::GetExitDescription ( )

◆ GetExitStatus()

int SBProcess::GetExitStatus ( )

Definition at line 499 of file SBProcess.cpp.

References GetSP(), and LLDB_INSTRUMENT_VA.

Referenced by LLDB_DEPRECATED_FIXME().

◆ GetExtendedBacktraceTypeAtIndex()

const char * SBProcess::GetExtendedBacktraceTypeAtIndex ( uint32_t idx)

Return the name of one of the thread-origin extended backtrace methods.

Parameters
[in]idxThe index of the name to return. They will be returned in the order that the user will most likely want to see them. e.g. if the type at index 0 is not available for a thread, see if the type at index 1 provides an extended backtrace.
Returns
The name at that index.

Definition at line 1188 of file SBProcess.cpp.

References lldb_private::SystemRuntime::GetExtendedBacktraceTypes(), GetSP(), and LLDB_INSTRUMENT_VA.

Referenced by LLDB_DEPRECATED_FIXME().

◆ GetExtendedCrashInformation()

SBStructuredData SBProcess::GetExtendedCrashInformation ( )

Definition at line 1027 of file SBProcess.cpp.

References GetSP(), LLDB_INSTRUMENT_VA, and lldb::SBStructuredData::m_impl_up.

Referenced by LLDB_DEPRECATED_FIXME().

◆ GetHistoryThreads()

SBThreadCollection SBProcess::GetHistoryThreads ( addr_t addr)

Definition at line 1203 of file SBProcess.cpp.

References GetSP(), LLDB_INSTRUMENT_VA, and lldb::SBThreadCollection.

Referenced by LLDB_DEPRECATED_FIXME().

◆ GetInterruptedFromEvent()

bool SBProcess::GetInterruptedFromEvent ( const lldb::SBEvent & event)
static

◆ GetMemoryRegionInfo()

lldb::SBError SBProcess::GetMemoryRegionInfo ( lldb::addr_t load_addr,
lldb::SBMemoryRegionInfo & region_info )

Query the address load_addr and store the details of the memory region that contains it in the supplied SBMemoryRegionInfo object.

To iterate over all memory regions use GetMemoryRegionList.

Parameters
[in]load_addrThe address to be queried.
[out]region_infoA reference to an SBMemoryRegionInfo object that will contain the details of the memory region containing load_addr.
Returns
An error object describes any errors that occurred while querying load_addr.

Definition at line 1289 of file SBProcess.cpp.

References lldb_private::Status::FromErrorString(), GetSP(), LLDB_INSTRUMENT_VA, lldb::SBError::ref(), lldb::SBMemoryRegionInfo::ref(), and lldb_private::ProcessRunLock::ProcessRunLocker::TryLock().

Referenced by LLDB_DEPRECATED_FIXME().

◆ GetMemoryRegions()

lldb::SBMemoryRegionInfoList SBProcess::GetMemoryRegions ( )

Return the list of memory regions within the process.

Returns
A list of all witin the process memory regions.

Definition at line 1312 of file SBProcess.cpp.

References GetSP(), LLDB_INSTRUMENT_VA, lldb::SBMemoryRegionInfoList::ref(), and lldb_private::ProcessRunLock::ProcessRunLocker::TryLock().

Referenced by LLDB_DEPRECATED_FIXME().

◆ GetNumExtendedBacktraceTypes()

uint32_t SBProcess::GetNumExtendedBacktraceTypes ( )

Return the number of different thread-origin extended backtraces this process can support.

When the process is stopped and you have an SBThread, lldb may be able to show a backtrace of when that thread was originally created, or the work item was enqueued to it (in the case of a libdispatch queue).

Returns
The number of thread-origin extended backtrace types that may be available.

Definition at line 1177 of file SBProcess.cpp.

References lldb_private::SystemRuntime::GetExtendedBacktraceTypes(), GetSP(), and LLDB_INSTRUMENT_VA.

Referenced by LLDB_DEPRECATED_FIXME().

◆ GetNumQueues()

uint32_t SBProcess::GetNumQueues ( )

◆ GetNumRestartedReasonsFromEvent()

size_t SBProcess::GetNumRestartedReasonsFromEvent ( const lldb::SBEvent & event)
static

◆ GetNumSupportedHardwareWatchpoints()

uint32_t SBProcess::GetNumSupportedHardwareWatchpoints ( lldb::SBError & error) const

◆ GetNumThreads()

uint32_t SBProcess::GetNumThreads ( )

◆ GetPluginName()

const char * SBProcess::GetPluginName ( )

◆ GetProcessFromEvent()

◆ GetProcessID()

lldb::pid_t SBProcess::GetProcessID ( )

Gets the process ID.

Returns the process identifier for the process as it is known on the system on which the process is running. For unix systems this is typically the same as if you called "getpid()" in the process.

Returns
Returns LLDB_INVALID_PROCESS_ID if this object does not contain a valid process object, or if the process has not been launched. Returns a valid process ID if the process is valid.

Definition at line 525 of file SBProcess.cpp.

References GetSP(), LLDB_INSTRUMENT_VA, and LLDB_INVALID_PROCESS_ID.

Referenced by LLDB_DEPRECATED_FIXME().

◆ GetProcessInfo()

lldb::SBProcessInfo SBProcess::GetProcessInfo ( )

Return information about the process.

Valid process info will only be returned when the process is alive, use SBProcessInfo::IsValid() to check returned info is valid.

Definition at line 1329 of file SBProcess.cpp.

References GetSP(), LLDB_INSTRUMENT_VA, and lldb::SBProcessInfo::SetProcessInfo().

Referenced by LLDB_DEPRECATED_FIXME().

◆ GetQueueAtIndex()

SBQueue SBProcess::GetQueueAtIndex ( size_t index)

◆ GetRestartedFromEvent()

bool SBProcess::GetRestartedFromEvent ( const lldb::SBEvent & event)
static

◆ GetRestartedReasonAtIndexFromEvent()

const char * SBProcess::GetRestartedReasonAtIndexFromEvent ( const lldb::SBEvent & event,
size_t idx )
static

◆ GetScriptedImplementation()

lldb::SBScriptObject SBProcess::GetScriptedImplementation ( )

◆ GetSelectedThread()

SBThread SBProcess::GetSelectedThread ( ) const

Definition at line 206 of file SBProcess.cpp.

References GetSP(), LLDB_INSTRUMENT_VA, SBThread, and lldb::SBThread::SetThread().

Referenced by LLDB_DEPRECATED_FIXME().

◆ GetSP()

lldb::ProcessSP SBProcess::GetSP ( ) const
protected

Definition at line 106 of file SBProcess.cpp.

References m_opaque_wp.

Referenced by AllocateMemory(), AppendEventStateReport(), Continue(), ContinueInDirection(), CreateOSPluginThread(), DeallocateMemory(), Destroy(), Detach(), FindInMemory(), FindRangesInMemory(), FixAddress(), ForceScriptedState(), GetAddressByteSize(), GetAddressMask(), GetAsyncProfileData(), GetBroadcaster(), GetByteOrder(), GetCoreFile(), GetDescription(), GetExitDescription(), GetExitStatus(), GetExtendedBacktraceTypeAtIndex(), GetExtendedCrashInformation(), GetHistoryThreads(), GetMemoryRegionInfo(), GetMemoryRegions(), GetNumExtendedBacktraceTypes(), GetNumQueues(), GetNumSupportedHardwareWatchpoints(), GetNumThreads(), GetPluginName(), GetProcessID(), GetProcessInfo(), GetQueueAtIndex(), GetScriptedImplementation(), GetSelectedThread(), GetState(), GetStatus(), GetSTDERR(), GetSTDOUT(), GetStopEventForStopID(), GetStopID(), GetTarget(), GetThreadAtIndex(), GetThreadByID(), GetThreadByIndexID(), GetUniqueID(), GetUnixSignals(), lldb::SBDebugger::HandleCommand(), IsInstrumentationRuntimePresent(), Kill(), lldb_private::python::SWIGBridge, LoadImage(), LoadImageUsingPaths(), PutSTDIN(), ReadCStringFromMemory(), ReadMemory(), ReadPointerFromMemory(), ReadUnsignedFromMemory(), RemoteAttachToProcessWithID(), RemoteLaunch(), ReportEventState(), SaveCore(), lldb::SBExecutionContext::SBExecutionContext(), lldb::SBModule::SBModule(), SendAsyncInterrupt(), SendEventData(), SetAddressMask(), lldb::SBSaveCoreOptions::SetProcess(), SetSelectedThread(), SetSelectedThreadByID(), SetSelectedThreadByIndexID(), Signal(), Stop(), UnloadImage(), and WriteMemory().

◆ GetState()

StateType SBProcess::GetState ( )

Definition at line 485 of file SBProcess.cpp.

References lldb::eStateInvalid, GetSP(), and LLDB_INSTRUMENT_VA.

Referenced by GetDescription(), and LLDB_DEPRECATED_FIXME().

◆ GetStateFromEvent()

◆ GetStatus()

void SBProcess::GetStatus ( SBStream & status)

Definition at line 995 of file SBProcess.cpp.

References GetSP(), LLDB_INSTRUMENT_VA, and lldb::SBStream::ref().

Referenced by LLDB_DEPRECATED_FIXME().

◆ GetSTDERR()

size_t SBProcess::GetSTDERR ( char * dst,
size_t dst_len ) const

Definition at line 279 of file SBProcess.cpp.

References error(), GetSP(), and LLDB_INSTRUMENT_VA.

Referenced by LLDB_DEPRECATED_FIXME().

◆ GetSTDOUT()

size_t SBProcess::GetSTDOUT ( char * dst,
size_t dst_len ) const

Definition at line 266 of file SBProcess.cpp.

References error(), GetSP(), and LLDB_INSTRUMENT_VA.

Referenced by LLDB_DEPRECATED_FIXME().

◆ GetStopEventForStopID()

SBEvent SBProcess::GetStopEventForStopID ( uint32_t stop_id)

Gets the stop event corresponding to stop ID.

Note that it wasn't fully implemented and tracks only the stop event for the last natural stop ID.

Parameters
[in]stop_idThe ID of the stop event to return.
Returns
The stop event corresponding to stop ID.

Definition at line 459 of file SBProcess.cpp.

References GetSP(), LLDB_INSTRUMENT_VA, and lldb::SBEvent::reset().

Referenced by LLDB_DEPRECATED_FIXME().

◆ GetStopID()

uint32_t SBProcess::GetStopID ( bool include_expression_stops = false)

Definition at line 444 of file SBProcess.cpp.

References GetSP(), and LLDB_INSTRUMENT_VA.

Referenced by LLDB_DEPRECATED_FIXME().

◆ GetStructuredDataFromEvent()

lldb::SBStructuredData SBProcess::GetStructuredDataFromEvent ( const lldb::SBEvent & event)
static

Definition at line 790 of file SBProcess.cpp.

References lldb::SBEvent::GetSP(), LLDB_INSTRUMENT_VA, and lldb::SBStructuredData.

Referenced by LLDB_DEPRECATED_FIXME().

◆ GetTarget()

SBTarget SBProcess::GetTarget ( ) const

Definition at line 239 of file SBProcess.cpp.

References GetSP(), LLDB_INSTRUMENT_VA, SBTarget, and lldb::SBTarget::SetSP().

Referenced by GetDescription(), and LLDB_DEPRECATED_FIXME().

◆ GetThreadAtIndex()

SBThread SBProcess::GetThreadAtIndex ( size_t index)

◆ GetThreadByID()

◆ GetThreadByIndexID()

SBThread SBProcess::GetThreadByIndexID ( uint32_t index_id)

◆ GetUniqueID()

uint32_t SBProcess::GetUniqueID ( )

Gets the unique ID associated with this process object.

Unique IDs start at 1 and increment up with each new process instance. Since starting a process on a system might always create a process with the same process ID, there needs to be a way to tell two process instances apart.

Returns
Returns a non-zero integer ID if this object contains a valid process object, zero if this object does not contain a valid process object.

Definition at line 536 of file SBProcess.cpp.

References GetSP(), and LLDB_INSTRUMENT_VA.

Referenced by LLDB_DEPRECATED_FIXME().

◆ GetUnixSignals()

SBUnixSignals SBProcess::GetUnixSignals ( )

Definition at line 683 of file SBProcess.cpp.

References GetSP(), and LLDB_INSTRUMENT_VA.

Referenced by LLDB_DEPRECATED_FIXME().

◆ IsInstrumentationRuntimePresent()

bool SBProcess::IsInstrumentationRuntimePresent ( InstrumentationRuntimeType type)

Definition at line 1214 of file SBProcess.cpp.

References GetSP(), and LLDB_INSTRUMENT_VA.

Referenced by LLDB_DEPRECATED_FIXME().

◆ IsValid()

bool SBProcess::IsValid ( ) const

Definition at line 116 of file SBProcess.cpp.

References LLDB_INSTRUMENT_VA.

Referenced by LLDB_DEPRECATED_FIXME().

◆ Kill()

SBError SBProcess::Kill ( )

◆ LLDB_DEPRECATED_FIXME()

lldb::SBProcess::LLDB_DEPRECATED_FIXME ( "Use GetPluginName()" ,
"GetPluginName()"  ) const

References AllocateMemory(), AppendEventStateReport(), Clear(), Continue(), ContinueInDirection(), CreateOSPluginThread(), DeallocateMemory(), Destroy(), Detach(), lldb::eAddressMaskRangeLow, lldb::eAddressMaskTypeAny, error(), EventIsProcessEvent(), EventIsStructuredDataEvent(), FindInMemory(), FindRangesInMemory(), FixAddress(), ForceScriptedState(), GetAddressByteSize(), GetAddressMask(), GetAsyncProfileData(), GetBroadcaster(), GetBroadcasterClass(), GetByteOrder(), GetCoreFile(), GetDescription(), GetExitDescription(), GetExitStatus(), GetExtendedBacktraceTypeAtIndex(), GetExtendedCrashInformation(), GetHistoryThreads(), GetInterruptedFromEvent(), GetMemoryRegionInfo(), GetMemoryRegions(), GetNumExtendedBacktraceTypes(), GetNumQueues(), GetNumRestartedReasonsFromEvent(), GetNumSupportedHardwareWatchpoints(), GetNumThreads(), GetProcessFromEvent(), GetProcessID(), GetProcessInfo(), GetQueueAtIndex(), GetRestartedFromEvent(), GetRestartedReasonAtIndexFromEvent(), GetScriptedImplementation(), GetSelectedThread(), GetState(), GetStateFromEvent(), GetStatus(), GetSTDERR(), GetSTDOUT(), GetStopEventForStopID(), GetStopID(), GetStructuredDataFromEvent(), GetTarget(), GetThreadAtIndex(), GetThreadByID(), GetThreadByIndexID(), GetUniqueID(), GetUnixSignals(), IsInstrumentationRuntimePresent(), IsValid(), Kill(), LoadImage(), LoadImageUsingPaths(), PutSTDIN(), ReadMemory(), ReadPointerFromMemory(), ReadUnsignedFromMemory(), RemoteAttachToProcessWithID(), RemoteLaunch(), ReportEventState(), SaveCore(), SBSaveCoreOptions, SBTarget, SendAsyncInterrupt(), SendEventData(), SetAddressableBits(), SetAddressMask(), SetSelectedThread(), SetSelectedThreadByID(), SetSelectedThreadByIndexID(), Signal(), Stop(), UnloadImage(), and WriteMemory().

◆ LoadImage() [1/2]

uint32_t SBProcess::LoadImage ( const lldb::SBFileSpec & local_image_spec,
const lldb::SBFileSpec & remote_image_spec,
lldb::SBError & error )

Load a shared library into this process.

Parameters
[in]local_image_specThe file spec that points to the shared library that you want to load if the library is located on the host. The library will be copied over to the location specified by remote_image_spec or into the current working directory with the same filename if the remote_image_spec isn't specified.
[in]remote_image_specIf local_image_spec is specified then the location where the library should be copied over from the host. If local_image_spec isn't specified, then the path for the shared library on the target what you want to load.
[out]errorAn error object that gets filled in with any errors that might occur when trying to load the shared library.
Returns
A token that represents the shared library that can be later used to unload the shared library. A value of LLDB_INVALID_IMAGE_TOKEN will be returned if the shared library can't be opened.

Definition at line 1079 of file SBProcess.cpp.

References lldb_private::Status::FromErrorString(), GetSP(), LLDB_INSTRUMENT_VA, LLDB_INVALID_IMAGE_TOKEN, lldb::SBError::ref(), and lldb_private::ProcessRunLock::ProcessRunLocker::TryLock().

◆ LoadImage() [2/2]

uint32_t SBProcess::LoadImage ( lldb::SBFileSpec & remote_image_spec,
lldb::SBError & error )

Load a shared library into this process.

Parameters
[in]remote_image_specThe path for the shared library on the target what you want to load.
[out]errorAn error object that gets filled in with any errors that might occur when trying to load the shared library.
Returns
A token that represents the shared library that can be later used to unload the shared library. A value of LLDB_INVALID_IMAGE_TOKEN will be returned if the shared library can't be opened.

Definition at line 1072 of file SBProcess.cpp.

References LLDB_INSTRUMENT_VA, LoadImage(), and lldb::SBFileSpec.

Referenced by LLDB_DEPRECATED_FIXME(), and LoadImage().

◆ LoadImageUsingPaths()

uint32_t SBProcess::LoadImageUsingPaths ( const lldb::SBFileSpec & image_spec,
SBStringList & paths,
lldb::SBFileSpec & loaded_path,
lldb::SBError & error )

Load a shared library into this process, starting with a library name and a list of paths, searching along the list of paths till you find a matching library.

Parameters
[in]image_specThe name of the shared library that you want to load. If image_spec is a relative path, the relative path will be appended to the search paths. If the image_spec is an absolute path, just the basename is used.
[in]pathsA list of paths to search for the library whose basename is local_spec.
[out]loaded_pathIf the library was found along the paths, this will store the full path to the found library.
[out]errorAn error object that gets filled in with any errors that might occur when trying to search for the shared library.
Returns
A token that represents the shared library that can be later passed to UnloadImage. A value of LLDB_INVALID_IMAGE_TOKEN will be returned if the shared library can't be opened.

Definition at line 1102 of file SBProcess.cpp.

References error(), lldb_private::Status::FromErrorString(), lldb::SBStringList::GetSize(), GetSP(), lldb::SBStringList::GetStringAtIndex(), LLDB_INSTRUMENT_VA, LLDB_INVALID_IMAGE_TOKEN, and lldb_private::ProcessRunLock::ProcessRunLocker::TryLock().

Referenced by LLDB_DEPRECATED_FIXME().

◆ operator bool()

SBProcess::operator bool ( ) const
explicit

Definition at line 120 of file SBProcess.cpp.

References LLDB_INSTRUMENT_VA, and m_opaque_wp.

◆ operator=()

const SBProcess & SBProcess::operator= ( const lldb::SBProcess & rhs)

Definition at line 69 of file SBProcess.cpp.

References LLDB_INSTRUMENT_VA, m_opaque_wp, and SBProcess().

◆ PutSTDIN()

size_t SBProcess::PutSTDIN ( const char * src,
size_t src_len )

Definition at line 253 of file SBProcess.cpp.

References error(), GetSP(), and LLDB_INSTRUMENT_VA.

Referenced by LLDB_DEPRECATED_FIXME().

◆ ReadCStringFromMemory()

size_t SBProcess::ReadCStringFromMemory ( addr_t addr,
void * char_buf,
size_t size,
lldb::SBError & error )

◆ ReadMemory()

◆ ReadPointerFromMemory()

◆ ReadUnsignedFromMemory()

uint64_t SBProcess::ReadUnsignedFromMemory ( addr_t addr,
uint32_t byte_size,
lldb::SBError & error )

◆ RemoteAttachToProcessWithID()

bool SBProcess::RemoteAttachToProcessWithID ( lldb::pid_t pid,
lldb::SBError & error )

Remote connection related functions.

These will fail if the process is not in eStateConnected. They are intended for use when connecting to an externally managed debugserver instance.

Definition at line 165 of file SBProcess.cpp.

References error(), lldb::eStateConnected, lldb_private::Status::FromErrorString(), GetSP(), LLDB_INSTRUMENT_VA, and lldb_private::ProcessInfo::SetProcessID().

Referenced by LLDB_DEPRECATED_FIXME().

◆ RemoteLaunch()

bool SBProcess::RemoteLaunch ( char const ** argv,
char const ** envp,
const char * stdin_path,
const char * stdout_path,
const char * stderr_path,
const char * working_directory,
uint32_t launch_flags,
bool stop_at_entry,
lldb::SBError & error )

◆ ReportEventState() [1/3]

void SBProcess::ReportEventState ( const lldb::SBEvent & event,
FILE * out ) const

Definition at line 311 of file SBProcess.cpp.

References LLDB_INSTRUMENT_VA, and ReportEventState().

Referenced by LLDB_DEPRECATED_FIXME(), ReportEventState(), and ReportEventState().

◆ ReportEventState() [2/3]

void SBProcess::ReportEventState ( const lldb::SBEvent & event,
FileSP BORROWED ) const

◆ ReportEventState() [3/3]

void SBProcess::ReportEventState ( const lldb::SBEvent & event,
SBFile file ) const

Definition at line 305 of file SBProcess.cpp.

References LLDB_INSTRUMENT_VA, lldb::SBFile::m_opaque_sp, and ReportEventState().

◆ SaveCore() [1/3]

lldb::SBError SBProcess::SaveCore ( const char * file_name)

Save the state of the process with the a flavor that matches the current process' main executable (if supported).

Parameters
[in]file_name- The name of the file to save the core file to.

Definition at line 1234 of file SBProcess.cpp.

References lldb::eSaveCoreFull, LLDB_INSTRUMENT_VA, SaveCore(), lldb::SBFileSpec, SBSaveCoreOptions, lldb::SBSaveCoreOptions::SetOutputFile(), and lldb::SBSaveCoreOptions::SetStyle().

◆ SaveCore() [2/3]

lldb::SBError SBProcess::SaveCore ( const char * file_name,
const char * flavor,
SaveCoreStyle core_style )

Save the state of the process in a core file.

Parameters
[in]file_name- The name of the file to save the core file to.
[in]flavor- Specify the flavor of a core file plug-in to save. Currently supported flavors include "mach-o" and "minidump"
[in]core_style- Specify the style of a core file to save.

Definition at line 1242 of file SBProcess.cpp.

References error(), LLDB_INSTRUMENT_VA, SaveCore(), lldb::SBFileSpec, SBSaveCoreOptions, lldb::SBSaveCoreOptions::SetOutputFile(), lldb::SBSaveCoreOptions::SetPluginName(), and lldb::SBSaveCoreOptions::SetStyle().

Referenced by LLDB_DEPRECATED_FIXME(), SaveCore(), and SaveCore().

◆ SaveCore() [3/3]

lldb::SBError SBProcess::SaveCore ( SBSaveCoreOptions & options)

Save the state of the process with the desired settings as defined in the options object.

Parameters
[in]options- The options to use when saving the core file.

Definition at line 1255 of file SBProcess.cpp.

References error(), lldb::eStateStopped, lldb_private::Status::FromErrorString(), lldb::SBSaveCoreOptions::GetProcess(), GetSP(), LLDB_INSTRUMENT_VA, lldb::SBSaveCoreOptions::ref(), lldb_private::PluginManager::SaveCore(), SBSaveCoreOptions, and lldb::SBSaveCoreOptions::SetProcess().

◆ SendAsyncInterrupt()

void SBProcess::SendAsyncInterrupt ( )

Definition at line 692 of file SBProcess.cpp.

References GetSP(), and LLDB_INSTRUMENT_VA.

Referenced by LLDB_DEPRECATED_FIXME().

◆ SendEventData()

◆ SetAddressableBits()

void SBProcess::SetAddressableBits ( AddressMaskType type,
uint32_t num_bits,
AddressMaskRange addr_range = lldb::eAddressMaskRangeLow )

Set the number of bits used for addressing in this Process.

On Darwin and similar systems, the addressable bits are expressed as the number of low order bits that are relevant to addressing, instead of a more general address mask. This method calculates the correct mask value for a given number of low order addressable bits.

Parameters
[in]typeSee Mask Address Methods description of this argument. eAddressMaskTypeAll is often a suitable value when the same mask is being set for both code and data.
[in]num_bitsNumber of bits that are used for addressing. For example, a value of 42 indicates that the low 42 bits are relevant for addressing, and that higher-order bits may be used for various metadata like pointer authentication, Type Byte Ignore, etc.
[in]addr_rangeSee Mask Address Methods description of this argument. This will default to eAddressMaskRangeLow which is the only set of masks used normally.

Definition at line 1422 of file SBProcess.cpp.

References lldb_private::AddressableBits::AddressableBitToMask(), LLDB_INSTRUMENT_VA, and SetAddressMask().

Referenced by LLDB_DEPRECATED_FIXME().

◆ SetAddressMask()

void SBProcess::SetAddressMask ( lldb::AddressMaskType type,
lldb::addr_t mask,
lldb::AddressMaskRange addr_range = lldb::eAddressMaskRangeLow )

Set the current address mask that can be applied to addresses before reading from memory.

Parameters
[in]typeSee Mask Address Methods description of this argument. eAddressMaskTypeAll is often a suitable value when the same mask is being set for both code and data.
[in]maskThe address mask to set. Bits which are not used for addressing should be set to 1 in the mask.
[in]addr_rangeSee Mask Address Methods description of this argument. This will default to eAddressMaskRangeLow which is the only set of masks used normally.

Definition at line 1378 of file SBProcess.cpp.

References lldb::eAddressMaskRangeAll, lldb::eAddressMaskRangeHigh, lldb::eAddressMaskTypeAll, lldb::eAddressMaskTypeCode, lldb::eAddressMaskTypeData, GetSP(), and LLDB_INSTRUMENT_VA.

Referenced by LLDB_DEPRECATED_FIXME(), and SetAddressableBits().

◆ SetSelectedThread()

bool SBProcess::SetSelectedThread ( const lldb::SBThread & thread)

Definition at line 348 of file SBProcess.cpp.

References GetSP(), LLDB_INSTRUMENT_VA, and SBThread.

Referenced by LLDB_DEPRECATED_FIXME().

◆ SetSelectedThreadByID()

bool SBProcess::SetSelectedThreadByID ( lldb::tid_t tid)

Definition at line 361 of file SBProcess.cpp.

References GetSP(), and LLDB_INSTRUMENT_VA.

Referenced by LLDB_DEPRECATED_FIXME().

◆ SetSelectedThreadByIndexID()

bool SBProcess::SetSelectedThreadByIndexID ( uint32_t index_id)

Definition at line 375 of file SBProcess.cpp.

References GetSP(), and LLDB_INSTRUMENT_VA.

Referenced by LLDB_DEPRECATED_FIXME().

◆ SetSP()

◆ Signal()

SBError SBProcess::Signal ( int signal)

◆ Stop()

SBError SBProcess::Stop ( )

◆ UnloadImage()

◆ WriteMemory()

size_t SBProcess::WriteMemory ( addr_t addr,
const void * buf,
size_t size,
lldb::SBError & error )

◆ lldb_private::python::SWIGBridge

friend class lldb_private::python::SWIGBridge
friend

Definition at line 601 of file SBProcess.h.

References GetSP(), SBProcess(), and SetSP().

◆ lldb_private::QueueImpl

friend class lldb_private::QueueImpl
friend

Definition at line 599 of file SBProcess.h.

◆ SBAddress

friend class SBAddress
friend

Definition at line 585 of file SBProcess.h.

References SBAddress.

Referenced by SBAddress.

◆ SBBreakpoint

friend class SBBreakpoint
friend

Definition at line 586 of file SBProcess.h.

References SBBreakpoint.

Referenced by SBBreakpoint.

◆ SBBreakpointCallbackBaton

friend class SBBreakpointCallbackBaton
friend

Definition at line 587 of file SBProcess.h.

References SBBreakpointCallbackBaton.

Referenced by SBBreakpointCallbackBaton.

◆ SBBreakpointLocation

friend class SBBreakpointLocation
friend

Definition at line 588 of file SBProcess.h.

References SBBreakpointLocation.

Referenced by SBBreakpointLocation.

◆ SBCommandInterpreter

friend class SBCommandInterpreter
friend

Definition at line 589 of file SBProcess.h.

References SBCommandInterpreter.

Referenced by SBCommandInterpreter.

◆ SBDebugger

friend class SBDebugger
friend

Definition at line 591 of file SBProcess.h.

References SBDebugger.

Referenced by SBDebugger.

◆ SBExecutionContext

friend class SBExecutionContext
friend

Definition at line 592 of file SBProcess.h.

References SBExecutionContext.

Referenced by SBExecutionContext.

◆ SBFunction

friend class SBFunction
friend

Definition at line 593 of file SBProcess.h.

References SBFunction.

Referenced by SBFunction.

◆ SBModule

friend class SBModule
friend

Definition at line 594 of file SBProcess.h.

References SBModule.

Referenced by SBModule.

◆ SBPlatform

friend class SBPlatform
friend

Definition at line 595 of file SBProcess.h.

References SBPlatform.

Referenced by SBPlatform.

◆ SBSaveCoreOptions

friend class SBSaveCoreOptions
friend

Definition at line 590 of file SBProcess.h.

References SBSaveCoreOptions.

Referenced by LLDB_DEPRECATED_FIXME(), SaveCore(), SaveCore(), SaveCore(), and SBSaveCoreOptions.

◆ SBTarget

friend class SBTarget
friend

Definition at line 596 of file SBProcess.h.

References SBTarget.

Referenced by GetTarget(), LLDB_DEPRECATED_FIXME(), and SBTarget.

◆ SBThread

◆ SBValue

friend class SBValue
friend

Definition at line 598 of file SBProcess.h.

References SBValue.

Referenced by SBValue.

Member Data Documentation

◆ m_opaque_wp

lldb::ProcessWP lldb::SBProcess::m_opaque_wp
protected

Definition at line 609 of file SBProcess.h.

Referenced by Clear(), GetSP(), operator bool(), operator=(), SBProcess(), SBProcess(), and SetSP().


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