symbolic-demangle

Crates.iosymbolic-demangle
lib.rssymbolic-demangle
version12.9.2
sourcesrc
created_at2017-12-02 00:03:21.205857
updated_at2024-06-07 11:53:40.907258
descriptionA library to demangle symbols from various languages and compilers.
homepagehttps://github.com/getsentry/symbolic
repositoryhttps://github.com/getsentry/symbolic
max_upload_size
id41287
size1,004,807
Sentry Bot (getsentry-bot)

documentation

https://docs.rs/symbolic-demangle

README

Build Status

symbolic-demangle

Demangling support for various languages and compilers.

Currently supported languages are:

  • C++ (GCC-style compilers and MSVC)
  • Rust (both legacy and v0)
  • Swift (up to Swift 5.2)
  • ObjC (only symbol detection)

As the demangling schemes for the languages are different, the supported demangling features are inconsistent. For example, argument types were not encoded in legacy Rust mangling and thus not available in demangled names.

This module is part of the symbolic crate and can be enabled via the demangle feature.

Examples

use symbolic::common::{Language, Name};
use symbolic::demangle::{Demangle, DemangleOptions};

let name = Name::new("__ZN3std2io4Read11read_to_end17hb85a0f6802e14499E");
assert_eq!(name.detect_language(), Language::Rust);
assert_eq!(name.try_demangle(DemangleOptions::default()), "std::io::Read::read_to_end");

License: MIT

Commit count: 1469

cargo fmt