Struct PythonSpy

Source
pub struct PythonSpy {
    pub pid: Pid,
    pub process: Process,
    pub version: Version,
    pub interpreter_address: usize,
    pub threadstate_address: usize,
    pub config: Config,
    pub short_filenames: HashMap<String, Option<String>>,
    pub python_thread_ids: HashMap<u64, Tid>,
    pub python_thread_names: HashMap<u64, String>,
    pub dockerized: bool,
}
Expand description

Lets you retrieve stack traces of a running python program

Fields§

§pid: Pid§process: Process§version: Version§interpreter_address: usize§threadstate_address: usize§config: Config§short_filenames: HashMap<String, Option<String>>§python_thread_ids: HashMap<u64, Tid>§python_thread_names: HashMap<u64, String>§dockerized: bool

Implementations§

Source§

impl PythonSpy

Source

pub fn new(pid: Pid, config: &Config) -> Result<PythonSpy, Error>

Constructs a new PythonSpy object.

Source

pub fn retry_new( pid: Pid, config: &Config, max_retries: u64, ) -> Result<PythonSpy, Error>

Creates a PythonSpy object, retrying up to max_retries times. Mainly useful for the case where the process is just started and symbols or the python interpreter might not be loaded yet.

Source

pub fn get_stack_traces(&mut self) -> Result<Vec<StackTrace>, Error>

Gets a StackTrace for each thread in the current process

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V