Debug an avr 4809 with microUPDI?

Hmm that’s interesting. With just Linux and an unmodified GDB client, just with my platformio.ini


[env:ATmega4809]
platform = atmelmegaavr
;board = ATmega4809
board = nano_every
framework = arduino
upload_protocol = custom
upload_flags =
    -C
    $PROJECT_PACKAGES_DIR/tool-avrdude-megaavr/avrdude.conf
    -p
    $BOARD_MCU
    -c
    xplainedmini_updi
    -Pusb
    -b115200
upload_command = avrdude $UPLOAD_FLAGS -U flash:w:$SOURCE:i
debug_tool = custom
; no debug server
debug_server =
debug_port = 127.0.0.1:12555
build_type = debug
debug_load_mode = manual
debug_init_cmds =
  target extended-remote $DEBUG_PORT
  $INIT_BREAK
debug_init_break = tbreak loop

and starting the GDB server with pyAVRdbg, I get to the point where the microcontroller briefly halts in some code, then continues running, but I can stop it using the pause button.

Didn’t have to modify any JavaScript or replace my GDB client or anything.

But it still has problems resetting the chip and halting at my breakpoint (in loop).