LLDB mainline
|
#include <SBProcess.h>
Public Member Functions | |
FLAGS_ANONYMOUS_ENUM () | |
Broadcaster event bits definitions. | |
SBProcess () | |
SBProcess (const lldb::SBProcess &rhs) | |
const lldb::SBProcess & | operator= (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 | 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 ®ion_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 |
Definition at line 29 of file SBProcess.h.
SBProcess::SBProcess | ( | ) |
Definition at line 56 of file SBProcess.cpp.
References LLDB_INSTRUMENT_VA.
Referenced by GetProcessFromEvent().
SBProcess::SBProcess | ( | const lldb::SBProcess & | rhs | ) |
Definition at line 60 of file SBProcess.cpp.
References LLDB_INSTRUMENT_VA.
|
default |
|
protected |
Definition at line 64 of file SBProcess.cpp.
References LLDB_INSTRUMENT_VA.
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.
[in] | size | The size of the allocation requested. |
[in] | permissions | Or 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] | error | An error object that gets filled in with any errors that might occur when trying allocate. |
Definition at line 1421 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().
void SBProcess::AppendEventStateReport | ( | const lldb::SBEvent & | event, |
lldb::SBCommandReturnObject & | result | ||
) |
Definition at line 332 of file SBProcess.cpp.
References lldb::SBCommandReturnObject::AppendMessage(), GetSP(), GetStateFromEvent(), LLDB_INSTRUMENT_VA, and lldb::SBDebugger::StateAsCString().
void SBProcess::Clear | ( | ) |
Definition at line 110 of file SBProcess.cpp.
References LLDB_INSTRUMENT_VA, and m_opaque_wp.
SBError SBProcess::Continue | ( | ) |
Definition at line 566 of file SBProcess.cpp.
References lldb_private::Status::FromErrorString(), GetSP(), LLDB_INSTRUMENT_VA, and lldb::SBError::ref().
SBThread SBProcess::CreateOSPluginThread | ( | lldb::tid_t | tid, |
lldb::addr_t | context | ||
) |
Definition at line 221 of file SBProcess.cpp.
References GetSP(), LLDB_INSTRUMENT_VA, and lldb::SBThread::SetThread().
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.
[in] | ptr | A return value from AllocateMemory, pointing to the memory you want to deallocate. |
Definition at line 1442 of file SBProcess.cpp.
References error(), lldb_private::Status::FromErrorString(), GetSP(), LLDB_INSTRUMENT_VA, lldb::SBError::SetError(), and lldb_private::ProcessRunLock::ProcessRunLocker::TryLock().
SBError SBProcess::Destroy | ( | ) |
Definition at line 586 of file SBProcess.cpp.
References lldb_private::Status::FromErrorString(), GetSP(), LLDB_INSTRUMENT_VA, and lldb::SBError::SetError().
SBError SBProcess::Detach | ( | ) |
Definition at line 631 of file SBProcess.cpp.
References Detach(), and LLDB_INSTRUMENT_VA.
Referenced by Detach().
SBError SBProcess::Detach | ( | bool | keep_stopped | ) |
Definition at line 639 of file SBProcess.cpp.
References lldb_private::Status::FromErrorString(), GetSP(), LLDB_INSTRUMENT_VA, and lldb::SBError::SetError().
|
static |
Definition at line 782 of file SBProcess.cpp.
References lldb::SBEvent::get(), lldb_private::Process::ProcessEventData::GetEventDataFromEvent(), and LLDB_INSTRUMENT_VA.
|
static |
Definition at line 789 of file SBProcess.cpp.
References lldb_private::EventData::GetFlavor(), lldb_private::EventDataStructuredData::GetFlavorString(), and LLDB_INSTRUMENT_VA.
lldb::addr_t SBProcess::FindInMemory | ( | const void * | buf, |
uint64_t | size, | ||
const SBAddressRange & | range, | ||
uint32_t | alignment, | ||
SBError & | error | ||
) |
Definition at line 839 of file SBProcess.cpp.
References error(), lldb_private::Status::FromErrorString(), GetSP(), LLDB_INSTRUMENT_VA, LLDB_INVALID_ADDRESS, lldb::SBAddressRange::ref(), and lldb_private::ProcessRunLock::ProcessRunLocker::TryLock().
lldb::SBAddressRangeList SBProcess::FindRangesInMemory | ( | const void * | buf, |
uint64_t | size, | ||
const SBAddressRangeList & | ranges, | ||
uint32_t | alignment, | ||
uint32_t | max_matches, | ||
SBError & | error | ||
) |
Definition at line 814 of file SBProcess.cpp.
References error(), lldb_private::Status::FromErrorString(), GetSP(), LLDB_INSTRUMENT_VA, lldb::SBAddressRangeList::m_opaque_up, lldb_private::AddressRangeListImpl::ref(), lldb::SBAddressRangeList::ref(), and lldb_private::ProcessRunLock::ProcessRunLocker::TryLock().
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.
[in] | addr | The address that should be cleared of non-address bits. |
[in] | type | See 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 1407 of file SBProcess.cpp.
References lldb::eAddressMaskTypeAny, lldb::eAddressMaskTypeCode, lldb::eAddressMaskTypeData, GetSP(), and LLDB_INSTRUMENT_VA.
|
inline |
Broadcaster event bits definitions.
Definition at line 32 of file SBProcess.h.
void SBProcess::ForceScriptedState | ( | StateType | new_state | ) |
If the process is a scripted process, changes its state to the new state.
No-op otherwise.
[in] | new_state | The new state that the scripted process should be set to. |
Definition at line 473 of file SBProcess.cpp.
References GetSP(), and LLDB_INSTRUMENT_VA.
uint32_t SBProcess::GetAddressByteSize | ( | ) | const |
Definition at line 555 of file SBProcess.cpp.
References GetSP(), and LLDB_INSTRUMENT_VA.
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.
[in] | type | See 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_range | See Mask Address Methods description of this argument. This will default to eAddressMaskRangeLow which is the only set of masks used normally. |
Definition at line 1329 of file SBProcess.cpp.
References lldb::eAddressMaskRangeHigh, lldb::eAddressMaskTypeAny, lldb::eAddressMaskTypeCode, lldb::eAddressMaskTypeData, GetSP(), LLDB_INSTRUMENT_VA, and LLDB_INVALID_ADDRESS_MASK.
size_t SBProcess::GetAsyncProfileData | ( | char * | dst, |
size_t | dst_len | ||
) | const |
Definition at line 291 of file SBProcess.cpp.
References error(), GetSP(), and LLDB_INSTRUMENT_VA.
SBBroadcaster SBProcess::GetBroadcaster | ( | ) | const |
Definition at line 798 of file SBProcess.cpp.
References GetSP(), and LLDB_INSTRUMENT_VA.
|
static |
Definition at line 808 of file SBProcess.cpp.
References lldb_private::ConstString::AsCString(), lldb_private::Process::GetStaticBroadcasterClass(), and LLDB_INSTRUMENT.
|
static |
Definition at line 80 of file SBProcess.cpp.
References lldb_private::ConstString::AsCString(), lldb_private::Process::GetStaticBroadcasterClass(), and LLDB_INSTRUMENT.
ByteOrder SBProcess::GetByteOrder | ( | ) | const |
Definition at line 544 of file SBProcess.cpp.
References lldb::eByteOrderInvalid, GetSP(), and LLDB_INSTRUMENT_VA.
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.
Definition at line 1318 of file SBProcess.cpp.
References GetSP(), and LLDB_INSTRUMENT_VA.
bool SBProcess::GetDescription | ( | lldb::SBStream & | description | ) |
Definition at line 989 of file SBProcess.cpp.
References lldb_private::ConstString::AsCString(), lldb::SBTarget::GetExecutable(), lldb_private::FileSpec::GetFilename(), lldb_private::Module::GetFileSpec(), GetNumThreads(), lldb::SBFileSpec::GetPath(), GetSP(), GetState(), GetTarget(), LLDB_INSTRUMENT_VA, PATH_MAX, lldb_private::Stream::Printf(), lldb_private::Stream::PutCString(), lldb::SBStream::ref(), and lldb_private::StateAsCString().
const char * SBProcess::GetExitDescription | ( | ) |
Definition at line 511 of file SBProcess.cpp.
References lldb_private::ConstString::GetCString(), GetSP(), and LLDB_INSTRUMENT_VA.
int SBProcess::GetExitStatus | ( | ) |
Definition at line 497 of file SBProcess.cpp.
References GetSP(), and LLDB_INSTRUMENT_VA.
const char * SBProcess::GetExtendedBacktraceTypeAtIndex | ( | uint32_t | idx | ) |
Return the name of one of the thread-origin extended backtrace methods.
[in] | idx | The 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. |
Definition at line 1174 of file SBProcess.cpp.
References lldb_private::SystemRuntime::GetExtendedBacktraceTypes(), GetSP(), and LLDB_INSTRUMENT_VA.
SBStructuredData SBProcess::GetExtendedCrashInformation | ( | ) |
Definition at line 1013 of file SBProcess.cpp.
References GetSP(), LLDB_INSTRUMENT_VA, and lldb::SBStructuredData::m_impl_up.
SBThreadCollection SBProcess::GetHistoryThreads | ( | addr_t | addr | ) |
Definition at line 1189 of file SBProcess.cpp.
References GetSP(), and LLDB_INSTRUMENT_VA.
|
static |
Definition at line 769 of file SBProcess.cpp.
References lldb::SBEvent::get(), lldb_private::Process::ProcessEventData::GetInterruptedFromEvent(), and LLDB_INSTRUMENT_VA.
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.
[in] | load_addr | The address to be queried. |
[out] | region_info | A reference to an SBMemoryRegionInfo object that will contain the details of the memory region containing load_addr. |
Definition at line 1266 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().
lldb::SBMemoryRegionInfoList SBProcess::GetMemoryRegions | ( | ) |
Return the list of memory regions within the process.
Definition at line 1289 of file SBProcess.cpp.
References GetSP(), LLDB_INSTRUMENT_VA, lldb::SBMemoryRegionInfoList::ref(), and lldb_private::ProcessRunLock::ProcessRunLocker::TryLock().
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).
Definition at line 1163 of file SBProcess.cpp.
References lldb_private::SystemRuntime::GetExtendedBacktraceTypes(), GetSP(), and LLDB_INSTRUMENT_VA.
uint32_t SBProcess::GetNumQueues | ( | ) |
Definition at line 406 of file SBProcess.cpp.
References GetSP(), LLDB_INSTRUMENT_VA, and lldb_private::ProcessRunLock::ProcessRunLocker::TryLock().
|
static |
Definition at line 740 of file SBProcess.cpp.
References lldb::SBEvent::get(), lldb_private::Process::ProcessEventData::GetNumRestartedReasons(), and LLDB_INSTRUMENT_VA.
uint32_t SBProcess::GetNumSupportedHardwareWatchpoints | ( | lldb::SBError & | error | ) | const |
Definition at line 1037 of file SBProcess.cpp.
References lldb_private::Status::FromErrorString(), GetSP(), and LLDB_INSTRUMENT_VA.
uint32_t SBProcess::GetNumThreads | ( | ) |
Definition at line 188 of file SBProcess.cpp.
References GetSP(), LLDB_INSTRUMENT_VA, and lldb_private::ProcessRunLock::ProcessRunLocker::TryLock().
Referenced by GetDescription().
const char * SBProcess::GetPluginName | ( | ) |
Definition at line 86 of file SBProcess.cpp.
References lldb_private::ConstString::GetCString(), GetSP(), and LLDB_INSTRUMENT_VA.
|
static |
Definition at line 756 of file SBProcess.cpp.
References lldb::SBEvent::get(), lldb_private::Process::ProcessEventData::GetProcessFromEvent(), lldb_private::EventDataStructuredData::GetProcessFromEvent(), LLDB_INSTRUMENT_VA, and SBProcess().
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.
Definition at line 523 of file SBProcess.cpp.
References GetSP(), LLDB_INSTRUMENT_VA, and LLDB_INVALID_PROCESS_ID.
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 1306 of file SBProcess.cpp.
References GetSP(), LLDB_INSTRUMENT_VA, and lldb::SBProcessInfo::SetProcessInfo().
SBQueue SBProcess::GetQueueAtIndex | ( | size_t | index | ) |
Definition at line 423 of file SBProcess.cpp.
References GetSP(), LLDB_INSTRUMENT_VA, lldb::SBQueue::SetQueue(), and lldb_private::ProcessRunLock::ProcessRunLocker::TryLock().
|
static |
Definition at line 732 of file SBProcess.cpp.
References lldb::SBEvent::get(), lldb_private::Process::ProcessEventData::GetRestartedFromEvent(), and LLDB_INSTRUMENT_VA.
|
static |
Definition at line 747 of file SBProcess.cpp.
References lldb::SBEvent::get(), lldb_private::ConstString::GetCString(), lldb_private::Process::ProcessEventData::GetRestartedReasonAtIndex(), and LLDB_INSTRUMENT_VA.
lldb::SBScriptObject SBProcess::GetScriptedImplementation | ( | ) |
Definition at line 1463 of file SBProcess.cpp.
References lldb::eScriptLanguageDefault, GetSP(), and LLDB_INSTRUMENT_VA.
SBThread SBProcess::GetSelectedThread | ( | ) | const |
Definition at line 205 of file SBProcess.cpp.
References GetSP(), LLDB_INSTRUMENT_VA, and lldb::SBThread::SetThread().
|
protected |
Definition at line 106 of file SBProcess.cpp.
References m_opaque_wp.
Referenced by AllocateMemory(), AppendEventStateReport(), Continue(), 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(), 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().
StateType SBProcess::GetState | ( | ) |
Definition at line 483 of file SBProcess.cpp.
References lldb::eStateInvalid, GetSP(), and LLDB_INSTRUMENT_VA.
Referenced by GetDescription().
|
static |
Definition at line 724 of file SBProcess.cpp.
References lldb::SBEvent::get(), lldb_private::Process::ProcessEventData::GetStateFromEvent(), and LLDB_INSTRUMENT_VA.
Referenced by AppendEventStateReport(), and ReportEventState().
void SBProcess::GetStatus | ( | SBStream & | status | ) |
Definition at line 981 of file SBProcess.cpp.
References GetSP(), LLDB_INSTRUMENT_VA, and lldb::SBStream::ref().
size_t SBProcess::GetSTDERR | ( | char * | dst, |
size_t | dst_len | ||
) | const |
Definition at line 278 of file SBProcess.cpp.
References error(), GetSP(), and LLDB_INSTRUMENT_VA.
size_t SBProcess::GetSTDOUT | ( | char * | dst, |
size_t | dst_len | ||
) | const |
Definition at line 265 of file SBProcess.cpp.
References error(), GetSP(), and LLDB_INSTRUMENT_VA.
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.
[in] | stop_id | The ID of the stop event to return. |
Definition at line 457 of file SBProcess.cpp.
References GetSP(), LLDB_INSTRUMENT_VA, and lldb::SBEvent::reset().
uint32_t SBProcess::GetStopID | ( | bool | include_expression_stops = false | ) |
Definition at line 442 of file SBProcess.cpp.
References GetSP(), and LLDB_INSTRUMENT_VA.
|
static |
Definition at line 776 of file SBProcess.cpp.
References lldb::SBEvent::GetSP(), and LLDB_INSTRUMENT_VA.
SBTarget SBProcess::GetTarget | ( | ) | const |
Definition at line 238 of file SBProcess.cpp.
References GetSP(), LLDB_INSTRUMENT_VA, and lldb::SBTarget::SetSP().
Referenced by GetDescription().
SBThread SBProcess::GetThreadAtIndex | ( | size_t | index | ) |
Definition at line 388 of file SBProcess.cpp.
References GetSP(), LLDB_INSTRUMENT_VA, lldb::SBThread::SetThread(), and lldb_private::ProcessRunLock::ProcessRunLocker::TryLock().
SBThread SBProcess::GetThreadByID | ( | lldb::tid_t | sb_thread_id | ) |
Definition at line 687 of file SBProcess.cpp.
References GetSP(), LLDB_INSTRUMENT_VA, lldb::SBThread::SetThread(), and lldb_private::ProcessRunLock::ProcessRunLocker::TryLock().
SBThread SBProcess::GetThreadByIndexID | ( | uint32_t | index_id | ) |
Definition at line 705 of file SBProcess.cpp.
References GetSP(), LLDB_INSTRUMENT_VA, lldb::SBThread::SetThread(), and lldb_private::ProcessRunLock::ProcessRunLocker::TryLock().
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.
Definition at line 534 of file SBProcess.cpp.
References GetSP(), and LLDB_INSTRUMENT_VA.
SBUnixSignals SBProcess::GetUnixSignals | ( | ) |
Definition at line 669 of file SBProcess.cpp.
References GetSP(), and LLDB_INSTRUMENT_VA.
bool SBProcess::IsInstrumentationRuntimePresent | ( | InstrumentationRuntimeType | type | ) |
Definition at line 1200 of file SBProcess.cpp.
References GetSP(), and LLDB_INSTRUMENT_VA.
bool SBProcess::IsValid | ( | ) | const |
Definition at line 116 of file SBProcess.cpp.
References LLDB_INSTRUMENT_VA.
SBError SBProcess::Kill | ( | ) |
Definition at line 616 of file SBProcess.cpp.
References lldb_private::Status::FromErrorString(), GetSP(), LLDB_INSTRUMENT_VA, and lldb::SBError::SetError().
lldb::SBProcess::LLDB_DEPRECATED_FIXME | ( | "Use GetPluginName()" | , |
"GetPluginName()" | |||
) | const |
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.
[in] | local_image_spec | The 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_spec | If 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] | error | An error object that gets filled in with any errors that might occur when trying to load the shared library. |
Definition at line 1065 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().
uint32_t SBProcess::LoadImage | ( | lldb::SBFileSpec & | remote_image_spec, |
lldb::SBError & | error | ||
) |
Load a shared library into this process.
[in] | remote_image_spec | The path for the shared library on the target what you want to load. |
[out] | error | An error object that gets filled in with any errors that might occur when trying to load the shared library. |
Definition at line 1058 of file SBProcess.cpp.
References LLDB_INSTRUMENT_VA, and LoadImage().
Referenced by LoadImage().
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.
[in] | image_spec | The 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] | paths | A list of paths to search for the library whose basename is local_spec. |
[out] | loaded_path | If the library was found along the paths, this will store the full path to the found library. |
[out] | error | An error object that gets filled in with any errors that might occur when trying to search for the shared library. |
Definition at line 1088 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().
|
explicit |
Definition at line 120 of file SBProcess.cpp.
References LLDB_INSTRUMENT_VA.
const SBProcess & SBProcess::operator= | ( | const lldb::SBProcess & | rhs | ) |
Definition at line 69 of file SBProcess.cpp.
References LLDB_INSTRUMENT_VA, and m_opaque_wp.
size_t SBProcess::PutSTDIN | ( | const char * | src, |
size_t | src_len | ||
) |
Definition at line 252 of file SBProcess.cpp.
References error(), GetSP(), and LLDB_INSTRUMENT_VA.
size_t SBProcess::ReadCStringFromMemory | ( | addr_t | addr, |
void * | char_buf, | ||
size_t | size, | ||
lldb::SBError & | error | ||
) |
Definition at line 893 of file SBProcess.cpp.
References lldb_private::Status::FromErrorString(), GetSP(), LLDB_INSTRUMENT_VA, lldb::SBError::ref(), and lldb_private::ProcessRunLock::ProcessRunLocker::TryLock().
size_t SBProcess::ReadMemory | ( | addr_t | addr, |
void * | buf, | ||
size_t | size, | ||
lldb::SBError & | error | ||
) |
Definition at line 863 of file SBProcess.cpp.
References lldb_private::Status::FromErrorString(), lldb_private::Status::FromErrorStringWithFormat(), GetSP(), LLDB_INSTRUMENT_VA, lldb::SBError::ref(), and lldb_private::ProcessRunLock::ProcessRunLocker::TryLock().
lldb::addr_t SBProcess::ReadPointerFromMemory | ( | addr_t | addr, |
lldb::SBError & | error | ||
) |
Definition at line 937 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().
uint64_t SBProcess::ReadUnsignedFromMemory | ( | addr_t | addr, |
uint32_t | byte_size, | ||
lldb::SBError & | error | ||
) |
Definition at line 915 of file SBProcess.cpp.
References lldb_private::Status::FromErrorString(), GetSP(), LLDB_INSTRUMENT_VA, lldb::SBError::ref(), and lldb_private::ProcessRunLock::ProcessRunLocker::TryLock().
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().
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 | ||
) |
Definition at line 127 of file SBProcess.cpp.
References lldb_private::Args::AppendArguments(), error(), lldb::eStateConnected, lldb_private::Status::FromErrorString(), lldb_private::ProcessInfo::GetArguments(), lldb_private::ProcessInfo::GetEnvironment(), lldb_private::Module::GetPlatformFileSpec(), GetSP(), LLDB_INSTRUMENT_VA, and lldb_private::ProcessInfo::SetExecutableFile().
void SBProcess::ReportEventState | ( | const lldb::SBEvent & | event, |
FILE * | out | ||
) | const |
Definition at line 310 of file SBProcess.cpp.
References LLDB_INSTRUMENT_VA, and ReportEventState().
Referenced by ReportEventState().
void SBProcess::ReportEventState | ( | const lldb::SBEvent & | event, |
FileSP | BORROWED | ||
) | const |
Definition at line 316 of file SBProcess.cpp.
References GetSP(), GetStateFromEvent(), LLDB_INSTRUMENT_VA, lldb_private::Stream::Printf(), and lldb::SBDebugger::StateAsCString().
void SBProcess::ReportEventState | ( | const lldb::SBEvent & | event, |
SBFile | file | ||
) | const |
Definition at line 304 of file SBProcess.cpp.
References LLDB_INSTRUMENT_VA, lldb::SBFile::m_opaque_sp, and ReportEventState().
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).
[in] | file_name | - The name of the file to save the core file to. |
Definition at line 1220 of file SBProcess.cpp.
References lldb::eSaveCoreFull, LLDB_INSTRUMENT_VA, SaveCore(), lldb::SBSaveCoreOptions::SetOutputFile(), and lldb::SBSaveCoreOptions::SetStyle().
lldb::SBError SBProcess::SaveCore | ( | const char * | file_name, |
const char * | flavor, | ||
SaveCoreStyle | core_style | ||
) |
Save the state of the process in a core file.
[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 1228 of file SBProcess.cpp.
References error(), LLDB_INSTRUMENT_VA, SaveCore(), lldb::SBSaveCoreOptions::SetOutputFile(), lldb::SBSaveCoreOptions::SetPluginName(), and lldb::SBSaveCoreOptions::SetStyle().
Referenced by SaveCore().
lldb::SBError SBProcess::SaveCore | ( | SBSaveCoreOptions & | options | ) |
Save the state of the process with the desired settings as defined in the options object.
[in] | options | - The options to use when saving the core file. |
Definition at line 1241 of file SBProcess.cpp.
References error(), lldb::eStateStopped, lldb_private::Status::FromErrorString(), GetSP(), LLDB_INSTRUMENT_VA, lldb::SBSaveCoreOptions::ref(), and lldb_private::PluginManager::SaveCore().
void SBProcess::SendAsyncInterrupt | ( | ) |
Definition at line 678 of file SBProcess.cpp.
References GetSP(), and LLDB_INSTRUMENT_VA.
lldb::SBError SBProcess::SendEventData | ( | const char * | data | ) |
Definition at line 1144 of file SBProcess.cpp.
References lldb_private::Status::FromErrorString(), GetSP(), LLDB_INSTRUMENT_VA, lldb::SBError::SetError(), and lldb_private::ProcessRunLock::ProcessRunLocker::TryLock().
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.
[in] | type | See 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_bits | Number 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_range | See Mask Address Methods description of this argument. This will default to eAddressMaskRangeLow which is the only set of masks used normally. |
Definition at line 1399 of file SBProcess.cpp.
References lldb_private::AddressableBits::AddressableBitToMask(), LLDB_INSTRUMENT_VA, and 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.
[in] | type | See 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] | mask | The address mask to set. Bits which are not used for addressing should be set to 1 in the mask. |
[in] | addr_range | See Mask Address Methods description of this argument. This will default to eAddressMaskRangeLow which is the only set of masks used normally. |
Definition at line 1355 of file SBProcess.cpp.
References lldb::eAddressMaskRangeAll, lldb::eAddressMaskRangeHigh, lldb::eAddressMaskTypeAll, lldb::eAddressMaskTypeCode, lldb::eAddressMaskTypeData, GetSP(), and LLDB_INSTRUMENT_VA.
Referenced by SetAddressableBits().
bool SBProcess::SetSelectedThread | ( | const lldb::SBThread & | thread | ) |
Definition at line 347 of file SBProcess.cpp.
References GetSP(), lldb::SBThread::GetThreadID(), and LLDB_INSTRUMENT_VA.
bool SBProcess::SetSelectedThreadByID | ( | lldb::tid_t | tid | ) |
Definition at line 360 of file SBProcess.cpp.
References GetSP(), and LLDB_INSTRUMENT_VA.
bool SBProcess::SetSelectedThreadByIndexID | ( | uint32_t | index_id | ) |
Definition at line 374 of file SBProcess.cpp.
References GetSP(), and LLDB_INSTRUMENT_VA.
|
protected |
Definition at line 108 of file SBProcess.cpp.
References m_opaque_wp.
Referenced by lldb::SBTarget::Attach(), lldb::SBTarget::AttachToProcessWithID(), lldb::SBTarget::AttachToProcessWithName(), lldb::SBTarget::ConnectRemote(), lldb::SBCommandInterpreter::GetProcess(), lldb::SBTarget::GetProcess(), lldb::SBThread::GetProcess(), lldb::SBValue::GetProcess(), lldb_private::QueueImpl::GetProcess(), lldb::SBExecutionContext::GetProcess(), lldb::SBTarget::Launch(), and lldb::SBTarget::LoadCore().
SBError SBProcess::Signal | ( | int | signal | ) |
Definition at line 654 of file SBProcess.cpp.
References lldb_private::Status::FromErrorString(), GetSP(), LLDB_INSTRUMENT_VA, and lldb::SBError::SetError().
SBError SBProcess::Stop | ( | ) |
Definition at line 601 of file SBProcess.cpp.
References lldb_private::Status::FromErrorString(), GetSP(), LLDB_INSTRUMENT_VA, and lldb::SBError::SetError().
lldb::SBError SBProcess::UnloadImage | ( | uint32_t | image_token | ) |
Definition at line 1123 of file SBProcess.cpp.
References lldb_private::Status::FromErrorString(), GetSP(), LLDB_INSTRUMENT_VA, lldb::SBError::SetError(), and lldb_private::ProcessRunLock::ProcessRunLocker::TryLock().
size_t SBProcess::WriteMemory | ( | addr_t | addr, |
const void * | buf, | ||
size_t | size, | ||
lldb::SBError & | error | ||
) |
Definition at line 958 of file SBProcess.cpp.
References lldb_private::Status::FromErrorString(), GetSP(), LLDB_INSTRUMENT_VA, lldb::SBError::ref(), and lldb_private::ProcessRunLock::ProcessRunLocker::TryLock().
|
friend |
Definition at line 600 of file SBProcess.h.
|
friend |
Definition at line 598 of file SBProcess.h.
|
friend |
Definition at line 584 of file SBProcess.h.
|
friend |
Definition at line 585 of file SBProcess.h.
|
friend |
Definition at line 586 of file SBProcess.h.
|
friend |
Definition at line 587 of file SBProcess.h.
|
friend |
Definition at line 588 of file SBProcess.h.
|
friend |
Definition at line 590 of file SBProcess.h.
|
friend |
Definition at line 591 of file SBProcess.h.
|
friend |
Definition at line 592 of file SBProcess.h.
|
friend |
Definition at line 593 of file SBProcess.h.
|
friend |
Definition at line 594 of file SBProcess.h.
|
friend |
Definition at line 589 of file SBProcess.h.
|
friend |
Definition at line 595 of file SBProcess.h.
|
friend |
Definition at line 596 of file SBProcess.h.
|
friend |
Definition at line 597 of file SBProcess.h.
|
protected |
Definition at line 608 of file SBProcess.h.
Referenced by Clear(), GetSP(), operator=(), and SetSP().