PyAvrOCD is a GDB server for 8-bit AVR MCUs (see list of supported MCUs and supported boards). It can communicate with Microchip's debug probes such as MPLAB Snap and with the DIY debugger dw-link (see list of supported debug probes).
So, why another open-source GDB server for AVR MCUs? The main intention is to provide a cross-platform AVR GDB server. In other words, it is the missing AVR debugging solution for PlatformIO and the Arduino IDE 2. And it excels in minimizing flash wear and protects single-stepping against interrupts.
When you want to install PyAvrOCD, you can install it as part of an Arduino core, so that it can be used in the Arduino IDE 2, you can download binaries, you can install PyAvrOCD using PyPI, or you can, of course, clone or download the GitHub repo.
Read the docs for more information.
When moving from the earlier version of the GDBserver, called dw-gdbserver, to PyAvrOCD, support for JTAG Mega chips has been added. This was more work than anticipated. And the current release is not yet fit for serious work. A number of JTAG MCUs still need to be tested, and more unit and integration tests are called for. If you would nevertheless like to give PyAvrOCD a try, you are welcome. The integration into Arduino IDE 2 is already done (for ATtiny chips and the Arduino AVR Boards). Any feedback, be it bug reports, crazy ideas, or praise, is welcome.
UPDI MCUs will follow next. I am unsure about Xmegas.