Rudy
A Rust library for interacting with debugging information of compiled artifacts using DWARF format. Provides lazy evaluation and incremental computation for long-running processes like debuggers.
⚠️ Experimental Status: This library is in early development (0.0.x). The API is unstable and subject to breaking changes.
LLDB Integration
Architecture
- Low-level DWARF parsing (
rudy-dwarf
) - Parser combinators and visitor patterns abstracting gimli - High-level API (
rudy-db
) -DebugInfo
wrapper with salsa-based incremental caching - LLDB integration (
rudy-lldb
) - RPC server for interactive debugging
Features
- Lazy evaluation using salsa for incremental computation
- Low-level DWARF parser combinators and visitor structs
- Higher-level
DebugInfo
wrapper for common debugging operations - Cross-platform support (x86_64, aarch64 on macOS, Linux)
Basic Usage
Here's a simple example of loading a binary and resolving type information from a memory address:
use DebugDb;
use Result;
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
Note: This is an experimental project. Please report any issues or feature requests on our GitHub issue tracker.