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::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 | 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 () |
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 | 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 53 of file SBProcess.cpp.
References LLDB_INSTRUMENT_VA.
Referenced by GetProcessFromEvent().
SBProcess::SBProcess | ( | const lldb::SBProcess & | rhs | ) |
Definition at line 57 of file SBProcess.cpp.
References LLDB_INSTRUMENT_VA.
|
default |
|
protected |
Definition at line 61 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 1350 of file SBProcess.cpp.
References GetSP(), LLDB_INSTRUMENT_VA, LLDB_INVALID_ADDRESS, lldb::SBError::ref(), lldb::SBError::SetErrorString(), and lldb_private::ProcessRunLock::ProcessRunLocker::TryLock().
void SBProcess::AppendEventStateReport | ( | const lldb::SBEvent & | event, |
lldb::SBCommandReturnObject & | result | ||
) |
Definition at line 328 of file SBProcess.cpp.
References lldb::SBCommandReturnObject::AppendMessage(), GetSP(), GetStateFromEvent(), LLDB_INSTRUMENT_VA, and lldb::SBDebugger::StateAsCString().
void SBProcess::Clear | ( | ) |
Definition at line 107 of file SBProcess.cpp.
References LLDB_INSTRUMENT_VA, and m_opaque_wp.
SBError SBProcess::Continue | ( | ) |
Definition at line 565 of file SBProcess.cpp.
References GetSP(), LLDB_INSTRUMENT_VA, lldb::SBError::ref(), and lldb::SBError::SetErrorString().
SBThread SBProcess::CreateOSPluginThread | ( | lldb::tid_t | tid, |
lldb::addr_t | context | ||
) |
Definition at line 217 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 1371 of file SBProcess.cpp.
References error(), GetSP(), LLDB_INSTRUMENT_VA, lldb::SBError::SetError(), lldb::SBError::SetErrorString(), and lldb_private::ProcessRunLock::ProcessRunLocker::TryLock().
SBError SBProcess::Destroy | ( | ) |
Definition at line 585 of file SBProcess.cpp.
References GetSP(), LLDB_INSTRUMENT_VA, lldb::SBError::SetError(), and lldb::SBError::SetErrorString().
SBError SBProcess::Detach | ( | ) |
Definition at line 630 of file SBProcess.cpp.
References Detach(), and LLDB_INSTRUMENT_VA.
Referenced by Detach().
SBError SBProcess::Detach | ( | bool | keep_stopped | ) |
Definition at line 638 of file SBProcess.cpp.
References GetSP(), LLDB_INSTRUMENT_VA, lldb::SBError::SetError(), and lldb::SBError::SetErrorString().
|
static |
Definition at line 781 of file SBProcess.cpp.
References lldb::SBEvent::get(), lldb_private::Process::ProcessEventData::GetEventDataFromEvent(), and LLDB_INSTRUMENT_VA.
|
static |
Definition at line 788 of file SBProcess.cpp.
References lldb_private::EventData::GetFlavor(), lldb_private::EventDataStructuredData::GetFlavorString(), and LLDB_INSTRUMENT_VA.
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 1336 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 470 of file SBProcess.cpp.
References GetSP(), and LLDB_INSTRUMENT_VA.
uint32_t SBProcess::GetAddressByteSize | ( | ) | const |
Definition at line 553 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 1258 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 287 of file SBProcess.cpp.
References error(), GetSP(), and LLDB_INSTRUMENT_VA.
SBBroadcaster SBProcess::GetBroadcaster | ( | ) | const |
Definition at line 797 of file SBProcess.cpp.
References GetSP(), and LLDB_INSTRUMENT_VA.
|
static |
Definition at line 807 of file SBProcess.cpp.
References lldb_private::ConstString::AsCString(), lldb_private::Process::GetStaticBroadcasterClass(), and LLDB_INSTRUMENT.
|
static |
Definition at line 77 of file SBProcess.cpp.
References lldb_private::ConstString::AsCString(), lldb_private::Process::GetStaticBroadcasterClass(), and LLDB_INSTRUMENT.
ByteOrder SBProcess::GetByteOrder | ( | ) | const |
Definition at line 541 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 1247 of file SBProcess.cpp.
References GetSP(), and LLDB_INSTRUMENT_VA.
bool SBProcess::GetDescription | ( | lldb::SBStream & | description | ) |
Definition at line 931 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 508 of file SBProcess.cpp.
References lldb_private::ConstString::GetCString(), GetSP(), and LLDB_INSTRUMENT_VA.
int SBProcess::GetExitStatus | ( | ) |
Definition at line 494 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 1115 of file SBProcess.cpp.
References lldb_private::SystemRuntime::GetExtendedBacktraceTypes(), GetSP(), and LLDB_INSTRUMENT_VA.
SBStructuredData SBProcess::GetExtendedCrashInformation | ( | ) |
Definition at line 955 of file SBProcess.cpp.
References GetSP(), LLDB_INSTRUMENT_VA, and lldb::SBStructuredData::m_impl_up.
SBThreadCollection SBProcess::GetHistoryThreads | ( | addr_t | addr | ) |
Definition at line 1130 of file SBProcess.cpp.
References GetSP(), and LLDB_INSTRUMENT_VA.
|
static |
Definition at line 768 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 1195 of file SBProcess.cpp.
References GetSP(), LLDB_INSTRUMENT_VA, lldb::SBError::ref(), lldb::SBMemoryRegionInfo::ref(), lldb::SBError::SetErrorString(), and lldb_private::ProcessRunLock::ProcessRunLocker::TryLock().
lldb::SBMemoryRegionInfoList SBProcess::GetMemoryRegions | ( | ) |
Return the list of memory regions within the process.
Definition at line 1218 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 1104 of file SBProcess.cpp.
References lldb_private::SystemRuntime::GetExtendedBacktraceTypes(), GetSP(), and LLDB_INSTRUMENT_VA.
uint32_t SBProcess::GetNumQueues | ( | ) |
Definition at line 403 of file SBProcess.cpp.
References GetSP(), LLDB_INSTRUMENT_VA, and lldb_private::ProcessRunLock::ProcessRunLocker::TryLock().
|
static |
Definition at line 739 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 979 of file SBProcess.cpp.
References GetSP(), LLDB_INSTRUMENT_VA, and lldb::SBError::SetErrorString().
uint32_t SBProcess::GetNumThreads | ( | ) |
Definition at line 184 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 83 of file SBProcess.cpp.
References lldb_private::ConstString::GetCString(), GetSP(), and LLDB_INSTRUMENT_VA.
|
static |
Definition at line 755 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 520 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 1235 of file SBProcess.cpp.
References GetSP(), LLDB_INSTRUMENT_VA, and lldb::SBProcessInfo::SetProcessInfo().
SBQueue SBProcess::GetQueueAtIndex | ( | size_t | index | ) |
Definition at line 420 of file SBProcess.cpp.
References GetSP(), LLDB_INSTRUMENT_VA, lldb::SBQueue::SetQueue(), and lldb_private::ProcessRunLock::ProcessRunLocker::TryLock().
|
static |
Definition at line 731 of file SBProcess.cpp.
References lldb::SBEvent::get(), lldb_private::Process::ProcessEventData::GetRestartedFromEvent(), and LLDB_INSTRUMENT_VA.
|
static |
Definition at line 746 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 1392 of file SBProcess.cpp.
References lldb::eScriptLanguageDefault, GetSP(), and LLDB_INSTRUMENT_VA.
SBThread SBProcess::GetSelectedThread | ( | ) | const |
Definition at line 201 of file SBProcess.cpp.
References GetSP(), LLDB_INSTRUMENT_VA, and lldb::SBThread::SetThread().
|
protected |
Definition at line 103 of file SBProcess.cpp.
References m_opaque_wp.
Referenced by AllocateMemory(), AppendEventStateReport(), Continue(), CreateOSPluginThread(), DeallocateMemory(), Destroy(), Detach(), 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(), 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(), SetSelectedThread(), SetSelectedThreadByID(), SetSelectedThreadByIndexID(), Signal(), Stop(), UnloadImage(), and WriteMemory().
StateType SBProcess::GetState | ( | ) |
Definition at line 480 of file SBProcess.cpp.
References lldb::eStateInvalid, GetSP(), and LLDB_INSTRUMENT_VA.
Referenced by GetDescription().
|
static |
Definition at line 723 of file SBProcess.cpp.
References lldb::SBEvent::get(), lldb_private::Process::ProcessEventData::GetStateFromEvent(), and LLDB_INSTRUMENT_VA.
Referenced by AppendEventStateReport(), and ReportEventState().
size_t SBProcess::GetSTDERR | ( | char * | dst, |
size_t | dst_len | ||
) | const |
Definition at line 274 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 261 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 454 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 439 of file SBProcess.cpp.
References GetSP(), and LLDB_INSTRUMENT_VA.
|
static |
Definition at line 775 of file SBProcess.cpp.
References lldb::SBEvent::GetSP(), and LLDB_INSTRUMENT_VA.
SBTarget SBProcess::GetTarget | ( | ) | const |
Definition at line 234 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 385 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 686 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 704 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 531 of file SBProcess.cpp.
References GetSP(), and LLDB_INSTRUMENT_VA.
SBUnixSignals SBProcess::GetUnixSignals | ( | ) |
Definition at line 668 of file SBProcess.cpp.
References GetSP(), and LLDB_INSTRUMENT_VA.
bool SBProcess::IsInstrumentationRuntimePresent | ( | InstrumentationRuntimeType | type | ) |
Definition at line 1141 of file SBProcess.cpp.
References GetSP(), and LLDB_INSTRUMENT_VA.
bool SBProcess::IsValid | ( | ) | const |
Definition at line 113 of file SBProcess.cpp.
References LLDB_INSTRUMENT_VA.
SBError SBProcess::Kill | ( | ) |
Definition at line 615 of file SBProcess.cpp.
References GetSP(), LLDB_INSTRUMENT_VA, lldb::SBError::SetError(), and lldb::SBError::SetErrorString().
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 1006 of file SBProcess.cpp.
References GetSP(), LLDB_INSTRUMENT_VA, LLDB_INVALID_IMAGE_TOKEN, lldb::SBError::ref(), lldb::SBError::SetErrorString(), 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 999 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 1029 of file SBProcess.cpp.
References error(), lldb::SBStringList::GetSize(), GetSP(), lldb::SBStringList::GetStringAtIndex(), LLDB_INSTRUMENT_VA, LLDB_INVALID_IMAGE_TOKEN, and lldb_private::ProcessRunLock::ProcessRunLocker::TryLock().
|
explicit |
Definition at line 117 of file SBProcess.cpp.
References LLDB_INSTRUMENT_VA.
const SBProcess & SBProcess::operator= | ( | const lldb::SBProcess & | rhs | ) |
Definition at line 66 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 248 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 843 of file SBProcess.cpp.
References GetSP(), LLDB_INSTRUMENT_VA, lldb::SBError::ref(), lldb::SBError::SetErrorString(), and lldb_private::ProcessRunLock::ProcessRunLocker::TryLock().
size_t SBProcess::ReadMemory | ( | addr_t | addr, |
void * | buf, | ||
size_t | size, | ||
lldb::SBError & | error | ||
) |
Definition at line 813 of file SBProcess.cpp.
References GetSP(), LLDB_INSTRUMENT_VA, lldb::SBError::ref(), lldb::SBError::SetErrorString(), and lldb_private::ProcessRunLock::ProcessRunLocker::TryLock().
lldb::addr_t SBProcess::ReadPointerFromMemory | ( | addr_t | addr, |
lldb::SBError & | error | ||
) |
Definition at line 887 of file SBProcess.cpp.
References GetSP(), LLDB_INSTRUMENT_VA, LLDB_INVALID_ADDRESS, lldb::SBError::ref(), lldb::SBError::SetErrorString(), and lldb_private::ProcessRunLock::ProcessRunLocker::TryLock().
uint64_t SBProcess::ReadUnsignedFromMemory | ( | addr_t | addr, |
uint32_t | byte_size, | ||
lldb::SBError & | error | ||
) |
Definition at line 865 of file SBProcess.cpp.
References GetSP(), LLDB_INSTRUMENT_VA, lldb::SBError::ref(), lldb::SBError::SetErrorString(), 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 161 of file SBProcess.cpp.
References error(), lldb::eStateConnected, 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 124 of file SBProcess.cpp.
References lldb_private::Args::AppendArguments(), error(), lldb::eStateConnected, 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 306 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 312 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 300 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 1161 of file SBProcess.cpp.
References lldb::eSaveCoreFull, LLDB_INSTRUMENT_VA, and SaveCore().
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 1166 of file SBProcess.cpp.
References error(), lldb::eStateStopped, GetSP(), lldb_private::FileSystem::Instance(), LLDB_INSTRUMENT_VA, lldb_private::FileSystem::Resolve(), and lldb_private::PluginManager::SaveCore().
Referenced by SaveCore().
void SBProcess::SendAsyncInterrupt | ( | ) |
Definition at line 677 of file SBProcess.cpp.
References GetSP(), and LLDB_INSTRUMENT_VA.
lldb::SBError SBProcess::SendEventData | ( | const char * | data | ) |
Definition at line 1085 of file SBProcess.cpp.
References GetSP(), LLDB_INSTRUMENT_VA, lldb::SBError::SetError(), lldb::SBError::SetErrorString(), 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 1328 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 1284 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 343 of file SBProcess.cpp.
References GetSP(), lldb::SBThread::GetThreadID(), and LLDB_INSTRUMENT_VA.
bool SBProcess::SetSelectedThreadByID | ( | lldb::tid_t | tid | ) |
Definition at line 356 of file SBProcess.cpp.
References GetSP(), and LLDB_INSTRUMENT_VA.
bool SBProcess::SetSelectedThreadByIndexID | ( | uint32_t | index_id | ) |
Definition at line 370 of file SBProcess.cpp.
References GetSP(), and LLDB_INSTRUMENT_VA.
|
protected |
Definition at line 105 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 653 of file SBProcess.cpp.
References GetSP(), LLDB_INSTRUMENT_VA, lldb::SBError::SetError(), and lldb::SBError::SetErrorString().
SBError SBProcess::Stop | ( | ) |
Definition at line 600 of file SBProcess.cpp.
References GetSP(), LLDB_INSTRUMENT_VA, lldb::SBError::SetError(), and lldb::SBError::SetErrorString().
lldb::SBError SBProcess::UnloadImage | ( | uint32_t | image_token | ) |
Definition at line 1064 of file SBProcess.cpp.
References GetSP(), LLDB_INSTRUMENT_VA, lldb::SBError::SetError(), lldb::SBError::SetErrorString(), 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 908 of file SBProcess.cpp.
References GetSP(), LLDB_INSTRUMENT_VA, lldb::SBError::ref(), lldb::SBError::SetErrorString(), and lldb_private::ProcessRunLock::ProcessRunLocker::TryLock().
|
friend |
Definition at line 581 of file SBProcess.h.
|
friend |
Definition at line 579 of file SBProcess.h.
|
friend |
Definition at line 566 of file SBProcess.h.
|
friend |
Definition at line 567 of file SBProcess.h.
|
friend |
Definition at line 568 of file SBProcess.h.
|
friend |
Definition at line 569 of file SBProcess.h.
|
friend |
Definition at line 570 of file SBProcess.h.
|
friend |
Definition at line 571 of file SBProcess.h.
|
friend |
Definition at line 572 of file SBProcess.h.
|
friend |
Definition at line 573 of file SBProcess.h.
|
friend |
Definition at line 574 of file SBProcess.h.
|
friend |
Definition at line 575 of file SBProcess.h.
|
friend |
Definition at line 576 of file SBProcess.h.
|
friend |
Definition at line 577 of file SBProcess.h.
|
friend |
Definition at line 578 of file SBProcess.h.
|
protected |
Definition at line 589 of file SBProcess.h.
Referenced by Clear(), GetSP(), operator=(), and SetSP().