Debuggen sollte nur dem Aufspüren aufgetretener Fehler dienen, nicht der Verifizierung eines Programms. Die Funktion kann man mit Testdaten prüfen, die systematisch alle Zweige eines Programmteils testen.
Da würde ich einen Mega nehmen, der hat mehrere serielle Schnittstellen, mehr RAM und Pins für viele LED oder andere Anzeigen von Testsignalen.