During this summer I've been working on the GDB frontend project for browsers based on React/Redux. My work was focused on the following repositories:
- https://github.com/taskcluster/gdb-examples — Docker image with various scenarios to debug in GDB (this is needed mostly for testing)
- https://github.com/taskcluster/gdb-js — flexible GDB/MI wrapper for JavaScript that is able to run in the browser (documentation is available here)
- https://github.com/baygeldin/ws-streamify — utility to handle the back-pressure, it helps to avoid memory leaks when exposing process streams via WebSockets
- https://github.com/taskcluster/react-gdb — GDB frontend React component
Almost all commits in these repositories are mine, so I don't think that it's necessary to provide additional links to my commits.
This was a very interesting and challenging project. From the first sight it might seem like a typical frontend project, but it turned out that it requires a deep knowledge of different low-level stuff as well as good understanding of building maintainable architectures. Although there's still a lot to do (real-world integration, more exhaustive tests), I'm glad with the current results. I learned a lot from this project and I'm looking forward to continue contributing to it.