
Aiuto! Come debuggo un’app?
By
Nella vita di uno sviluppatore il debug è un processo continuo e fondamentale perché non esiste programmatore al mondo che sia esente da errare (la scelta del verbo è voluta ;). In base a cosa sviluppiamo il metodo di debug può cambiare, ma la sostanza resta: dobbiamo capire cosa accade nel codice che abbiamo scritto.
Debug in un app Flutter
Parto da un ambiente a me familiare dove uso moltissimo il debug, anche quello “professionale” cioè con gli step, le varie variabili valorizzate, uso della memoria ecc.
Il modo più semplice per fare un debug è usare lo statement print
Certo, si stampa qualcosa nel terminale, valori di variabili, punti dell’app in cui si vuole passare o altro. Usare questo metodo rende obbligatorio racchiudere lo statement dentro una condizione che verifica se siamo in ambiente debug o release, così:
if (kDebugMode) {
print('Auth check completed, navigating to Home $authStatus');
}La variabile globale kDebugMode è definita nella libreria foundation quindi dobbiamo importarla import 'package:flutter/foundation.dart';
Un metodo più prolisso e che ci consente di indagare anche dove non abbiamo accesso (p.e. processi interni i Flutter, aspetti grafici legati al widget tree, ecc) in Android è lanciare in un terminale questo comando:
adb logcat -c && adb logcat | grep -E "AndroidRuntime|FATAL EXCEPTION|E/flutter"
e poi in altro terminale o da VS Code lanciare l’app. Se ci saranno dei crash il comando lanciato prima mostrerà i problemi che lo causano.