115个稳定版本 (11个主要版本)
12.10.0 | 2024年7月24日 |
---|---|
12.8.0 | 2023年12月1日 |
12.7.1 | 2023年11月29日 |
12.3.0 | 2023年7月19日 |
1.1.5 | 2017年12月2日 |
#52 in 调试
每月下载量 12,896
用于 11 个crate(7个直接使用)
470KB
9K SLoC
symbolic
Symbolic 是一个用Rust编写的库,它用于在 Sentry 中实现原生堆栈跟踪的符号化、最小化JavaScript的源映射处理等功能。它由多个在很大程度上独立的crate组成,这些crate被捆绑成一个C和Python库,以便它可以独立于Rust使用。
包内容
Symbolic提供了以下功能
- 基于自定义缓存文件(symcache)的符号化
- 从以下内容生成符号缓存文件
- Mach、ELF和PE符号表
- Mach和ELF嵌入式DWARF数据
- PDB CodeView调试信息
- Breakpad符号文件
- Demangling支持
- C++(GCC、clang和MSVC)
- Objective C / Objective C++
- Rust
- Swift
- JavaScript源映射扩展
- 基本令牌映射
- 基于最小化源代码查找原始函数名的启发式方法
- 索引源映射到源映射合并
- 最小化数据转储 / Breakpad处理
- 从Mach、ELF和PDB生成Breakpad符号文件
- 处理最小化数据转储以检索堆栈跟踪
- 方便的C和Python库
- 处理Unreal Engine 4原生崩溃报告
- 提取和处理最小化数据转储
- 公开日志和UE4上下文信息
用法
将 symbolic
添加为您的 Cargo.toml
的依赖项。您可能希望激活一些功能
debuginfo
(默认): 包含对各种目标文件格式和调试信息的支持。目前包括 MachO 和 ELF(带 DWARF 调试)、PE 和 PDB,以及 Breakpad 符号。demangle
:Rust、C++、Swift 和 Objective C 符号的解混淆。此功能需要在 PATH 中安装 C++14 编译器。minidump
:Breakpad Minidump 处理器的 Rust 绑定。此外,还包括从对象文件中提取堆栈回溯信息(有时称为 CFI)的功能。此功能需要在 PATH 中安装 C++11 编译器。sourcemap
:JavaScript 源映射的处理和展开,以及查找压缩函数名称。symcache
:一种优化、平台无关的常见调试信息存储。这允许将指令地址快速符号化为函数名称和文件位置。unreal
:处理 Unreal Engine 4 崩溃报告。
还有一些上述功能的替代版本,这些版本还增加了在适当类型上的 serde
的 {Deserialize, Serialize}
实现。
common-serde
debuginfo-serde
minidump-serde
unreal-serde
最小 Rust 版本
此crate已知至少需要Rust 1.41。
许可证:MIT
依赖关系
~0.4–8.5MB
~83K SLoC