https://github.com/luser/rust-debugger-tools-info
https://github.com/luser/rust-debugger-tools-info
Last synced: about 1 year ago
JSON representation
- Host: GitHub
- URL: https://github.com/luser/rust-debugger-tools-info
- Owner: luser
- Created: 2017-12-19T12:32:52.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2018-04-18T21:05:10.000Z (about 8 years ago)
- Last Synced: 2025-03-16T05:21:56.167Z (over 1 year ago)
- Size: 7.81 KB
- Stars: 29
- Watchers: 3
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
This repository is intended to curate a list of Rust crates for writing debuggers and other related tools. We also have an IRC channel for discussion on irc.mozilla.org, #rust-debugger-tools.
# List of useful crates
## Mature
* [gimli](https://github.com/gimli-rs/gimli) [](https://docs.rs/gimli/) - DWARF parser
* [goblin](https://github.com/m4b/goblin) [](https://docs.rs/goblin/) - Parser for binary formats (ELF/Mach-O/PE)
* [object](https://github.com/gimli-rs/object) [](https://docs.rs/object/) - A cross-platform abstraction built atop goblin to unify handling of various object file formats
* [addr2line](https://github.com/gimli-rs/addr2line) [](https://docs.rs/addr2line/) - A simple interface built atop gimli to look up source file/line/function information given an address in a binary
* [capstone](https://github.com/capstone-rust/capstone-rs) [](https://docs.rs/capstone/) - Rust interface to the [capstone](http://capstone-engine.org/) multi-architecture disassembly framework (x86/x86-64/arm/aarch64 and more)
* [cpp_demangle](https://github.com/gimli-rs/cpp_demangle) A crate for demangling C++ symbols.
## Working
* [pdb](https://github.com/willglynn/pdb) [](https://docs.rs/pdb/) - Parser for Microsoft PDB format debugging symbols
* [spawn-ptrace](https://github.com/luser/spawn-ptrace) [](https://docs.rs/spawn-ptrace/) - Spawn a child process with ptrace enabled
* [spawn-task-port](https://github.com/luser/rust-spawn-task-port/) [](https://docs.rs/spawn-task-port/) - Spawn a child process on macOS and get a hold of its Mach task port
* [read-process-memory](https://github.com/luser/read-process-memory) [](https://docs.rs/read-process-memory/) - Read memory from another process
* [elfkit](https://github.com/aep/elfkit) [](https://docs.rs/elfkit/) - ELF manipulation for writing tools like binutils
* [lldb](https://github.com/endoli/lldb.rs) [](https://docs.rs/lldb/) - Bindings to LLDB, the LLVM debugger
* [disassemble](https://github.com/endoli/disassemble.rs/) [](https://docs.rs/disassemble/) - A crate for working with disassembled code
* [`cargo-tarpaulin`](https://github.com/xd009642/tarpaulin) [](https://docs.rs/tarpaulin) A code coverage tool for Rust projects
* [`msvc-demangler`](https://github.com/mstange/msvc-demangler-rust) [](https://docs.rs/msvc-demangler)
## Experimental
* [moria](https://github.com/gimli-rs/moria) - Locate detached debug symbols
* [minidump](https://github.com/luser/rust-minidump) - Parser for Microsoft minidump crash report files
* [disasm](https://github.com/luser/rust-disasm) - A tool for producing source-interleaved disassembly built using object+moria+addr2line+capstone
* [tracetree](https://github.com/luser/tracetree) [](https://docs.rs/tracetree/) - Trace a process and all of its children on Linux
* [burst](https://github.com/endoli/burst.rs) [](https://docs.rs/burst/) - A disassembler that currently works with x86 and x86_64 code.
## Work in progress
* [gdb-remote-protocol](https://github.com/luser/rust-gdb-remote-protocol) - Implementation of the [GDB remote protocol](https://sourceware.org/gdb/onlinedocs/gdb/Remote-Protocol.html)
* [pdb-download](https://github.com/jrmuizel/pdb-downloader) - Fetch PDB symbols from a symbol server