CrashpadClient

Struct CrashpadClient 

Source
pub struct CrashpadClient { /* private fields */ }
Expand description

A Crashpad client that can be used to capture and report crashes.

Implementations§

Source§

impl CrashpadClient

Source

pub fn new() -> Result<Self>

Creates a new CrashpadClient instance.

Source

pub fn start_with_config( &self, config: &CrashpadConfig, annotations: &HashMap<String, String>, ) -> Result<()>

Starts the Crashpad handler with a configuration.

Source

pub fn start_handler( &self, handler_path: &Path, database_path: &Path, metrics_path: &Path, url: Option<&str>, annotations: &HashMap<String, String>, ) -> Result<()>

Starts the Crashpad handler process.

§Arguments
  • handler_path - Path to the Crashpad handler executable
  • database_path - Path where crash dumps will be stored
  • metrics_path - Path for metrics data (can be empty)
  • url - URL to upload crash reports to (can be None for local-only)
  • annotations - Key-value pairs to include with crash reports
Source

pub fn dump_without_crash(&self)

Capture a crash dump without actually crashing the process.

This is useful for diagnostic purposes when you want to capture the current state of the application without terminating it. The dump will be processed and uploaded (if configured) just like a regular crash dump.

§Example

// Capture diagnostic information when an error occurs
let some_error_condition = true; // Your actual error condition here
if some_error_condition {
    client.dump_without_crash();
    // Continue running - the process doesn't terminate
}
§Note

A handler must have been installed before calling this method. The captured context will be from the point where this function is called.

Trait Implementations§

Source§

impl Drop for CrashpadClient

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

impl Send for CrashpadClient

Source§

impl Sync for CrashpadClient

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.