Skip to content

vexide/v5gdb

v5gdb: The VEX V5 debugger

v5gdb is a debugger backend for the VEX V5 platform that is compatible with GDB and LLDB. It uses a combination of hardware and software breakpoints to implement features like line-by-line stepping and user-defined breakpoints. Users are also given the ability to read program state such as the arguments passed to the active function or global variables.

Goals

  • Implement a debug server usable by an instance of gdb.
  • Support multiple methods of communication with a debugger client running on the user's PC.
  • Implement non-invasive breakpoint handling compatible with all existing VEX runtimes.
  • Remote management of dynamically-placed software breakpoints
  • Single-stepping and hardware breakpoints
  • On-device debugger setup via Rust and C APIs
  • Easy to add to existing VEX projects, including vexide, PROS, and VEXcode projects.

Design

This project implements a debug server that can communicate with a GDB-compatible client over various transport methods. For more information, see the project's wiki page.

License

Licensed under either of

at your option.

Contribution

For guidelines for contributors, see CONTRIBUTING.md.

Unless 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.

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages