[]Struct sentry_core::types::DebugId

#[repr(C, packed)]pub struct DebugId { /* fields omitted */ }

Unique identifier for debug information files and their debug information.

This type is analogous to CodeId, except that it identifies a debug file instead of the actual library or executable. One some platforms, a DebugId is an alias for a CodeId but the exact rules around this are complex. On Windows, the identifiers are completely different and refer to separate files.

The string representation must be between 33 and 40 characters long and consist of:

  1. 36 character hyphenated hex representation of the UUID field
  2. 1-16 character lowercase hex representation of the u32 appendix

The debug identifier is compatible to Google Breakpad. Use DebugId::breakpad to get a breakpad string representation of this debug identifier.

Example

use std::str::FromStr;
use debugid::DebugId;

let id = DebugId::from_str("dfb8e43a-f242-3d73-a453-aeb6a777ef75-a")?;
assert_eq!("dfb8e43a-f242-3d73-a453-aeb6a777ef75-a".to_string(), id.to_string());

Implementations

impl DebugId

pub fn nil() -> DebugId

Constructs an empty debug identifier, containing only zeros.

pub fn from_uuid(uuid: Uuid) -> DebugId

Constructs a DebugId from its uuid.

pub fn from_parts(uuid: Uuid, appendix: u32) -> DebugId

Constructs a DebugId from its uuid and appendix parts.

pub fn from_guid_age(
    guid: &[u8],
    age: u32
) -> Result<DebugId, ParseDebugIdError>

Constructs a DebugId from a Microsoft little-endian GUID and age.

pub fn from_breakpad(string: &str) -> Result<DebugId, ParseDebugIdError>

Parses a breakpad identifier from a string.

pub fn uuid(&self) -> Uuid

Returns the UUID part of the code module's debug_identifier.

pub fn appendix(&self) -> u32

Returns the appendix part of the code module's debug identifier.

On Windows, this is an incrementing counter to identify the build. On all other platforms, this value will always be zero.

pub fn is_nil(&self) -> bool

Returns whether this identifier is nil, i.e. it consists only of zeros.

pub fn breakpad(&self) -> BreakpadFormat<'_>

Returns a wrapper which when formatted via fmt::Display will format a a breakpad identifier.

Trait Implementations

impl Clone for DebugId

impl Copy for DebugId

impl Debug for DebugId

impl Default for DebugId

impl<'de> Deserialize<'de> for DebugId

impl Display for DebugId

impl Eq for DebugId

impl From<(Uuid, u32)> for DebugId

impl From<Uuid> for DebugId

impl FromStr for DebugId

type Err = ParseDebugIdError

The associated error which can be returned from parsing.

impl Hash for DebugId

impl Ord for DebugId

impl PartialEq<DebugId> for DebugId

impl PartialOrd<DebugId> for DebugId

impl Serialize for DebugId

impl StructuralEq for DebugId

impl StructuralPartialEq for DebugId

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

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