I'm currently using Microchip Studio + ATMEL ICE to program custom PCBs via Debugwire/ISP via a 6 pin Tag-connect header. This all works fine, and I usually send UART data out via separate pins to a UART->USB cable.
The ATMEL-ICE apparently has a way to log data via DGI, but it looks like I'd need to use two cables for this (one to program, and another to log data) as all the pins seem mixed up for DGI, and it doesn't use the same ISP/Debugwire pins to send data back from the MCU (in this case ATMega328pb, but I also use others). I have no idea why they decided to do this rather than just accept SPI data back through the same pins used to program, but still...
I was thinking of either making a custom patch board to swap between programming/logging mode, but in my tests with the "Visualiser" in Microchip Studio, it seems really unstable anyway, crashing frequently and even if it did work, the visualizer needs to be shut down before programming, then started up again, which also seems to completely block any kind of debugging!
I'm wondering if there's a single programmer that can work the same way as the ICE, while also accepting SPI/UART data and displaying it? If not I'll stick with using a separate UART->USB dongle.