[][src]Crate symbolic_common

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.
  • ... and some useful functions to deal with paths in different platforms.

Macros

derive_failure

Defines an error type with a failure context and a kind.

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

Represents 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.

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 enum of CPU architectures and variants.

CpuFamily

Represents a family of CPUs.

Language

Supported programming languages for demangling.

Traits

AsSelf

Safe downcasting of dependent lifetime bounds on structs.

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

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 binary path.