Débogage

Version PDF de ce document : android-debug.pdf


Objectif

L’objectif est de déboguer des applications en Java sous Android Stuido.

Afficher des messages de journalisation

Android fournit une classe Log pour afficher des messages de journalisation qui seront visibles dans logcat.

Une bonne pratique est de déclarer une constante TAG dans chaque classe :

public class IHMPrincipal extends AppCompatActivity
{
    /**
     * Constantes
     */
    private static final String TAG = "IHMPrincipal"; //!< le TAG de la classe pour les logs
    
    ...
}

Il existe plusieurs niveaux de journalisation avec Log.v() (verbose), Log.d() (debug), Log.i() (info), Log.w() (warning), and Log.e() (erreur) :

public class IHMPrincipal extends AppCompatActivity
{
    ...
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        Log.d(TAG, "onCreate()");
        
        super.onCreate(savedInstanceState);
        ...
        
        Log.v(TAG, "index=" + i);
    }
}

Le message de journalisation aura le format :

date time PID-TID/package priority/tag: message

Par exemple :

02-11 09:11:39.748 27256-27256/com.ttpa.iris.ttpamobile D/IHMPrincipal: onCreate()

On peut visualiser l’ensemble des messages dans logcat :

On peut filtrer par niveau :

Et en utilisant une expression rationnelle (regex) :

Documentations Android :

Déboguer

Android Studio propose un mode débogage :

On peut placer des points d’arrêt sur une ligne de code :

Ensuite, on accède à la fenêtre de débogage :

On retrouve les modes habituels de contrôle d’exécution :

Retour