Crate symbolic_common
source ·Expand description
Common functionality for symbolic
.
This crate exposes a set of key types:
ByteView
: Gives access to binary data in-memory or on the file system.SelfCell
: Allows to create self-referential types.Name
: A symbol name that can be demangled with thedemangle
feature.InstructionInfo
: A utility type for instruction pointer heuristics.- Functions and utilities to deal with paths from different platforms.
Features
serde
(optional): Implementsserde::Deserialize
andserde::Serialize
for all data types. In thesymbolic
crate, this feature is exposed viacommon-serde
.
This module is part of the symbolic
crate.
Structs
Wrapper around
DebugId
for Breakpad formatting.A smart pointer for byte data.
Unique platform-dependent identifier of code files.
Unique identifier for debug information files and their debug information.
Helper to work with instruction addresses.
The name of a potentially mangled symbol.
Indicates an error parsing a
CodeId
.Indicates an error parsing a
DebugId
.A container carrying a derived object alongside its owner.
An error returned for an invalid
Arch
.An error returned for an invalid
Language
.A Universally Unique Identifier (UUID).
Enums
An enumeration of CPU architectures and variants.
Represents a family of CPUs.
A programming language declared in debugging information.
A
Name
s mangling state.Traits
Safe downcasting of dependent lifetime bounds on structs.
Extensions to
Path
for handling dSYM
directories.An unsafe marker trait for types that deref to a stable address, even when moved. For example, this is implemented by Box, Vec, Rc, Arc and String, among others. Even when a Box is moved, the underlying storage remains at a fixed location.
Functions
Simplifies paths by stripping redundant components.
Joins paths of various platforms.
Trims a path to a given length.
Splits off the last component of a path.
Splits off the last component of a path given as bytes.