Struct lldb::SBProcess [−][src]
pub struct SBProcess {
pub raw: SBProcessRef,
}
Expand description
The process associated with the target program.
You get a process by attaching to or launching a target program.
See SBTarget
for details.
Process State
The OS process ID (pid_t
) for the process is available via
SBProcess::process_id()
.
The process state can be obtained via SBProcess::state()
. It
is common to just check to see if the process SBProcess::is_alive()
,
SBProcess::is_running()
or SBProcess::is_stopped()
.
Once the process is in the Exited
state, the
SBProcess::exit_status()
and
SBProcess::exit_description()
are available for inspection.
Execution Control
Once you have a process, you can:
Threads
The process contains the threads of execution for the target. The
available threads can be iterated over with SBProcess::threads()
:
// Iterate over the threads...
for thread in process.threads() {
println!("Hello {}!", thread.thread_id());
}
// Or collect them into a vector!
let threads = process.threads().collect::<Vec<SBThread>>();
Specific individual threads can be looked up via
SBProcess::thread_by_id()
and SBProcess::thread_by_index_id()
methods.
Some functions operate on the ‘currently selected thread’. This can
retrieved via SBProcess::selected_thread()
and set via
SBProcess::set_selected_thread()
,
SBProcess::set_selected_thread_by_id()
, or
SBProcess::set_selected_thread_by_index_id()
.
Queues
A process may also have a set of queues associated with it. This is used
on macOS, iOS and other Apple operating systems to support debugger
integration with libdispatch
, also known as GCD or “Grand Central
Dispatch”.
The active queues can be iterated over with SBProcess::queues()
:
// Iterate over the queues...
for queue in process.queues() {
println!("Hello {}!", queue.queue_id());
}
Events
… to be written …
Fields
raw: SBProcessRef
The underlying raw SBProcessRef
.
Implementations
Construct a new Some(SBProcess)
or None
.
The current state of this process (running, stopped, exited, etc.).
Returns true
if the process is currently alive.
This corresponds to the process being in the Attaching
,
Launching
, Stopped
, Running
, Stepping
, Crashed
or Suspended
states.
Returns true
if the process is currently running.
This corresponds to the process being in the Running
or Stepping
states.
Returns true
if the process is currently stopped.
This corresponds to the process being in the Stopped
, Crashed
,
or Suspended
states.
The exit status of the process when the process state is
Exited
.
The exit description of the process when the process state
is Exited
.
Returns the process ID of the process.
Returns an integer ID that is guaranteed to be unique across all process instances. This is not the process ID, just a unique integer for comparison and caching purposes.
Get the size, in bytes, of an address.
Kills the process and shuts down all threads that were spawned to track and monitor the process.
pub fn threads(&self) -> SBProcessThreadIter<'_>ⓘNotable traits for SBProcessThreadIter<'d>impl<'d> Iterator for SBProcessThreadIter<'d> type Item = SBThread;
pub fn threads(&self) -> SBProcessThreadIter<'_>ⓘNotable traits for SBProcessThreadIter<'d>impl<'d> Iterator for SBProcessThreadIter<'d> type Item = SBThread;
impl<'d> Iterator for SBProcessThreadIter<'d> type Item = SBThread;
Get an iterator over the threads known to this process instance.
pub fn queues(&self) -> SBProcessQueueIter<'_>ⓘNotable traits for SBProcessQueueIter<'d>impl<'d> Iterator for SBProcessQueueIter<'d> type Item = SBQueue;
pub fn queues(&self) -> SBProcessQueueIter<'_>ⓘNotable traits for SBProcessQueueIter<'d>impl<'d> Iterator for SBProcessQueueIter<'d> type Item = SBQueue;
impl<'d> Iterator for SBProcessQueueIter<'d> type Item = SBQueue;
Get an iterator over the queues known to this process instance.
Returns the thread with the given thread ID.
Returns the thread with the given thread index ID.
Returns the currently selected thread.
Set the selected thread.
Set the selected thread by ID.
Set the selected thread by index ID.
Save the state of the process in a core file (or mini dump on Windows).
Trait Implementations
Performs the conversion.
Auto Trait Implementations
Blanket Implementations
Mutably borrows from an owned value. Read more