Version PDF de ce document : android-debug.pdf
L’objectif est de déboguer des applications en Java sous Android Stuido.
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 :
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 :