A modern Rust debugger library

Headcrab: July 2020 progress report

About 3 weeks ago, we started a new project to create a new modular and composable debugger library for Rust, taking inspiration from projects such as Delve and MDB. In less than 4 weeks, we have already seen some exciting progress!

Headcrab command line demonstration
Command line example: executing a debuggee and reading its registers. Example by @bjorn3

We have started with the basics: launching debuggee processes, reading & writing memory, reading & writing CPU registers, and reading debug symbols – doing these right is an essential prerequisite before progressing towards more complex features such as breakpoints. And there’s a lot of hidden complexity in these functions, as every target platform has its own quirks and requires a separate implementation. Providing a unified, simple API to hide these quirks from a user is one of our goals for the phase 1.

Overall, there were 32 pull requests adding the following features:

What’s next?

Here’s a glimpse of what we’ll be working on in the near term:

If you want to help, you can join us in our Zulip chat. We welcome first-time contributors!
You can also support our work on OpenCollective.

Thank you

This month’s contributors were:

OpenCollective backers and GitHub sponsors:

Thank you for your support!


For future updates, please subscribe to the RSS feed or to our email newsletter: