[−]Struct sentry_core::protocol::debugid::DebugId
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
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>
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
pub fn clone(&self) -> DebugId
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Copy for DebugId
impl Debug for DebugId
impl Default for DebugId
impl<'de> Deserialize<'de> for DebugId
pub fn deserialize<D>(
deserializer: D
) -> Result<DebugId, <D as Deserializer<'de>>::Error> where
D: Deserializer<'de>,
deserializer: D
) -> Result<DebugId, <D as Deserializer<'de>>::Error> where
D: Deserializer<'de>,
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.
pub fn from_str(string: &str) -> Result<DebugId, ParseDebugIdError>
impl Hash for DebugId
pub fn hash<__H>(&self, state: &mut __H) where
__H: Hasher,
__H: Hasher,
pub fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl Ord for DebugId
pub fn cmp(&self, other: &DebugId) -> Ordering
#[must_use]pub fn max(self, other: Self) -> Self
1.21.0[src]
#[must_use]pub fn min(self, other: Self) -> Self
1.21.0[src]
#[must_use]pub fn clamp(self, min: Self, max: Self) -> Self
1.50.0[src]
impl PartialEq<DebugId> for DebugId
impl PartialOrd<DebugId> for DebugId
pub fn partial_cmp(&self, other: &DebugId) -> Option<Ordering>
pub fn lt(&self, other: &DebugId) -> bool
pub fn le(&self, other: &DebugId) -> bool
pub fn gt(&self, other: &DebugId) -> bool
pub fn ge(&self, other: &DebugId) -> bool
impl Serialize for DebugId
pub fn serialize<S>(
&self,
serializer: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error> where
S: Serializer,
&self,
serializer: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error> where
S: Serializer,
impl StructuralEq for DebugId
impl StructuralPartialEq for DebugId
Auto Trait Implementations
impl RefUnwindSafe for DebugId
[src]
impl Send for DebugId
[src]
impl Sync for DebugId
[src]
impl Unpin for DebugId
[src]
impl UnwindSafe for DebugId
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,