#[non_exhaustive]pub struct StackSymbol {
pub name: String,
pub offset: u64,
pub size: Option<u64>,
pub raw: String,
}Expand description
One frame of a %pS-formatted stack trace.
funcname+0xoff/0xsz is the canonical kernel format
(%pS, rendered by lib/vsprintf.c’s symbol_string →
kernel/kallsyms.c’s sprint_symbol, which emits +%#lx/%#lx).
The parser captures the full original token
alongside the structured fields so the producer can render either.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.name: StringSymbol name (the part before +0x...).
offset: u64Byte offset within the function (the +0xNNN value).
size: Option<u64>Total function size when present (the /0xNNN value).
None when the kernel rendered the offset without a size
(older kernels and some configs omit /<size>).
raw: StringOriginal text token from dmesg, for reference.
Trait Implementations§
Source§impl Clone for StackSymbol
impl Clone for StackSymbol
Source§fn clone(&self) -> StackSymbol
fn clone(&self) -> StackSymbol
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for StackSymbol
impl Debug for StackSymbol
Source§impl Default for StackSymbol
impl Default for StackSymbol
Source§fn default() -> StackSymbol
fn default() -> StackSymbol
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for StackSymbol
impl<'de> Deserialize<'de> for StackSymbol
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for StackSymbol
impl PartialEq for StackSymbol
Source§impl Serialize for StackSymbol
impl Serialize for StackSymbol
impl Eq for StackSymbol
impl StructuralPartialEq for StackSymbol
Auto Trait Implementations§
impl Freeze for StackSymbol
impl RefUnwindSafe for StackSymbol
impl Send for StackSymbol
impl Sync for StackSymbol
impl Unpin for StackSymbol
impl UnwindSafe for StackSymbol
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more