122 stable releases (11 major)
12.12.3 | Nov 26, 2024 |
---|---|
12.12.0 | Oct 1, 2024 |
12.10.0 | Jul 24, 2024 |
12.8.0 | Dec 1, 2023 |
1.1.5 | Dec 2, 2017 |
#25 in Debugging
613,785 downloads per month
Used in 230 crates
(14 directly)
605KB
15K
SLoC
symbolic-demangle
Demangling support for various languages and compilers.
Currently supported languages are:
- C++ (GCC-style compilers and MSVC)
- Rust (both
legacy
andv0
) - 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
Dependencies
~355–600KB
~11K SLoC