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 the demangle feature.
  • InstructionInfo: A utility type for instruction pointer heuristics.
  • Functions and utilities to deal with paths from different platforms.

§Features

  • serde (optional): Implements serde::Deserialize and serde::Serialize for all data types. In the symbolic crate, this feature is exposed via common-serde.

This module is part of the symbolic crate.

Structs§

BreakpadFormat
Wrapper around DebugId for Breakpad formatting.
ByteView
A smart pointer for byte data.
CodeId
Unique platform-dependent identifier of code files.
DebugId
Unique identifier for debug information files and their debug information.
InstructionInfo
Helper to work with instruction addresses.
Name
The name of a potentially mangled symbol.
ParseCodeIdError
Indicates an error parsing a CodeId.
ParseDebugIdError
Indicates an error parsing a DebugId.
SelfCell
A container carrying a derived object alongside its owner.
SourceLinkMappings
A structure mapping source file paths to remote locations.
UnknownArchError
An error returned for an invalid Arch.
UnknownLanguageError
An error returned for an invalid Language.
Uuid
A Universally Unique Identifier (UUID).

Enums§

Arch
An enumeration of CPU architectures and variants.
CpuFamily
Represents a family of CPUs.
Language
A programming language declared in debugging information.
NameMangling
A Names mangling state.

Traits§

AsSelf
Safe downcasting of dependent lifetime bounds on structs.
DSymPathExt
Extensions to Path for handling dSYM directories.
StableDeref
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§

clean_path
Simplifies paths by stripping redundant components.
join_path
Joins paths of various platforms.
shorten_path
Trims a path to a given length.
split_path
Splits off the last component of a path.
split_path_bytes
Splits off the last component of a path given as bytes.