---
title: "Aiuto! Come debuggo un’app?"
id: "282"
type: "post"
slug: "aiuto-come-debuggo-unapp"
published_at: "2026-05-10T14:57:53+00:00"
modified_at: "2026-05-26T12:55:52+00:00"
url: "https://pierluigipapeschi.com/aiuto-come-debuggo-unapp/"
markdown_url: "https://pierluigipapeschi.com/aiuto-come-debuggo-unapp.md"
excerpt: "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..."
taxonomy_category:
  - "Flutter"
  - "Kotlin"
  - "Swift"
  - "VS Code"
---

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.
