Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/headcrab-rs/headcrab
A modern Rust debugging library 🦀
https://github.com/headcrab-rs/headcrab
debugger developer-tools rust rust-debugging rust-lang symbolication
Last synced: 2 days ago
JSON representation
A modern Rust debugging library 🦀
- Host: GitHub
- URL: https://github.com/headcrab-rs/headcrab
- Owner: headcrab-rs
- License: other
- Created: 2020-07-12T16:08:20.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2022-05-15T23:30:26.000Z (over 2 years ago)
- Last Synced: 2024-04-15T03:16:52.337Z (10 months ago)
- Topics: debugger, developer-tools, rust, rust-debugging, rust-lang, symbolication
- Language: Rust
- Homepage: https://headcrab.rs
- Size: 623 KB
- Stars: 885
- Watchers: 29
- Forks: 32
- Open Issues: 32
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE-APACHE
- Code of conduct: code_of_conduct.md
Awesome Lists containing this project
README
# Headcrab
[![project chat](https://img.shields.io/badge/zulip-join_chat-brightgreen.svg)](https://headcrab.zulipchat.com) [![Build Status](https://travis-ci.org/headcrab-rs/headcrab.svg?branch=master)](https://travis-ci.org/headcrab-rs/headcrab) [![Build Status](https://api.cirrus-ci.com/github/headcrab-rs/headcrab.svg?task=stable%20x86_64-unknown-freebsd-12)](https://cirrus-ci.com/github/headcrab-rs/headcrab) ![windows](https://github.com/headcrab-rs/headcrab/workflows/windows/badge.svg?branch=master) [![Financial Contributors on Open Collective](https://opencollective.com/headcrab/all/badge.svg?label=financial+contributors)](https://opencollective.com/headcrab)
[**Contributing**](CONTRIBUTING.md) | [**Documentation**](Documentation) | [**Chat**](https://headcrab.zulipchat.com) | [**Website**](https://headcrab.rs)
A modern Rust debugging library.
## Goals
This project's goal is to provide a modern debugger library for Rust so that you could build custom debuggers specific for your application. It will be developed with modern operating systems and platforms in mind.
- [List of Phase 1 goals](https://github.com/headcrab-rs/headcrab/blob/master/Documentation/Design.md#phase-1)
- [List of Phase 1 open issues](https://github.com/headcrab-rs/headcrab/milestone/1)## Using Headcrab
Currently, Headcrab supports Linux x86_64 as the primary target.
It's intended to be used as a library, but at this time it's not production-ready and the API stability is not guaranteed.You can try some example applications. E.g., a command line interface to some of the exposed functions:
```
cargo run --example repl
```[![asciicast](https://asciinema.org/a/356800.svg)](https://asciinema.org/a/356800)
## Contributing
This project exists thanks to all the people who contribute.
Please refer to the "[Contributing to Headcrab](CONTRIBUTING.md)" document for more information about how you can help the project.
You can also join the community chat at https://headcrab.zulipchat.comUnless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any
additional terms or conditions.### Code contributors
### Financial Contributors
Become a financial contributor and help us sustain our community. [[Contribute](https://opencollective.com/headcrab/contribute)]
#### Individuals
#### Sponsors
Support this project with your organization. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/headcrab/contribute)]
## Long-term goals
- Rust expression parser (reusing MIR and other components from the Rust compiler).
- Read complex data structures.
- Make symbolication reusable for eBPF and dynamic tracing.
- JSON-RPC and support for [Debug Adapter Protocol](https://microsoft.github.io/debug-adapter-protocol/).
- Command-line interface.
- Integrate with rr for reverse debugging.
- Collaborative debugging.
- Use the [LLVM DExTer](https://github.com/llvm/llvm-project/tree/master/debuginfo-tests/dexter) to improve user experience.
- Support more platforms and operating systems (Illumos, FreeBSD, OpenBSD, Windows).## License
Licensed under either of
* Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)
* MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)at your option.