Comment puis-je debugger mon code GPS

Si gps.encode() retourne faux, c'est que tu n'obtient pas de position.
Pas forcément étonnant si tu es dans un bâtiment.

Il est aussi possible qu'en journée tu subisses plus de perturbations qui empêchent de recevoir ...

Le plus simple déjà est de voir si la comm avec le GPS fonctionne en redirigeant directement la série qui vient du GPS vers le terminal Arduino
Tu devrais avoir des phrase NMEA du genre $GPRMC, $GPVMG, ...
Dans ton code au lieu de faire un Serial.print("cane passe pas") fait un serial.print(c)