Struct sentry_types::DebugId
source · [−]#[repr(C, packed)]pub struct DebugId { /* private fields */ }
Expand description
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:
- 36 character hyphenated hex representation of the UUID field
- 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
sourceimpl DebugId
impl DebugId
sourcepub fn from_parts(uuid: Uuid, appendix: u32) -> DebugId
pub fn from_parts(uuid: Uuid, appendix: u32) -> DebugId
Constructs a DebugId
from its uuid
and appendix
parts.
sourcepub fn from_guid_age(
guid: &[u8],
age: u32
) -> Result<DebugId, ParseDebugIdError>
pub fn from_guid_age(
guid: &[u8],
age: u32
) -> Result<DebugId, ParseDebugIdError>
Constructs a DebugId
from a Microsoft little-endian GUID and age.
sourcepub fn from_breakpad(string: &str) -> Result<DebugId, ParseDebugIdError>
pub fn from_breakpad(string: &str) -> Result<DebugId, ParseDebugIdError>
Parses a breakpad identifier from a string.
sourcepub fn appendix(&self) -> u32
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.
sourcepub fn is_nil(&self) -> bool
pub fn is_nil(&self) -> bool
Returns whether this identifier is nil, i.e. it consists only of zeros.
sourcepub fn breakpad(&self) -> BreakpadFormat<'_>
pub fn breakpad(&self) -> BreakpadFormat<'_>
Returns a wrapper which when formatted via fmt::Display
will format a
a breakpad identifier.
Trait Implementations
sourceimpl<'de> Deserialize<'de> for DebugId
impl<'de> Deserialize<'de> for DebugId
sourcepub fn deserialize<D>(
deserializer: D
) -> Result<DebugId, <D as Deserializer<'de>>::Error> where
D: Deserializer<'de>,
pub fn deserialize<D>(
deserializer: D
) -> Result<DebugId, <D as Deserializer<'de>>::Error> where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl FromStr for DebugId
impl FromStr for DebugId
type Err = ParseDebugIdError
type Err = ParseDebugIdError
The associated error which can be returned from parsing.
sourceimpl Ord for DebugId
impl Ord for DebugId
sourceimpl PartialOrd<DebugId> for DebugId
impl PartialOrd<DebugId> for DebugId
sourcepub fn partial_cmp(&self, other: &DebugId) -> Option<Ordering>
pub fn partial_cmp(&self, other: &DebugId) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
sourceimpl Serialize for DebugId
impl Serialize for DebugId
sourcepub fn serialize<S>(
&self,
serializer: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error> where
S: Serializer,
pub fn serialize<S>(
&self,
serializer: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error> where
S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl Copy for DebugId
impl Eq for DebugId
impl StructuralEq for DebugId
impl StructuralPartialEq for DebugId
Auto Trait Implementations
impl RefUnwindSafe for DebugId
impl Send for DebugId
impl Sync for DebugId
impl Unpin for DebugId
impl UnwindSafe for DebugId
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more