web-dev-qa-db-fra.com

Est-il possible de regarder des variables au moment de l'exécution?

Je connais les bases du débogage et je sais que je peux ajouter une surveillance à une variable qui arrête l'exécution du programme dans des conditions données. Mais je ne voulais pas arrêter le programme chaque fois que j'ai besoin de voir la valeur d'une variable. Je ne veux pas non plus enregistrer la valeur de chaque variable pertinente dans logcat ... Je voulais uniquement voir leurs valeurs, comme je le fais aux points d'arrêt, uniquement au moment de l'exécution.

Je programme Android, dans Android Studio.

Merci pour l'aide!

11
Ortiz

Lorsque votre programme s'est arrêté sur un point d'arrêt, cliquez sur l'icône située à l'extrême droite du menu du débogueur (voir l'image ci-dessous). Vous pouvez taper des méthodes ou des noms de variables dans cette fenêtre et voir ce qu’elles seraient.

 enter image description here

Vous pouvez taper n'importe quelle expression de votre choix (tant qu'elle se situe là où vous avez cassé votre code) et entrer des valeurs ou des objets codés en dur, le tout sans réexécuter votre projet.

 enter image description here

Pour ajouter une variable à votre liste de surveillance

Commencez par placer un point d'arrêt dans la classe où vous souhaitez surveiller une variable spécifique. Exécutez le code et une fois qu'il atteint votre point d'arrêt à partir du cadre de la fenêtre Variables, vous devriez voir toutes les variables accessibles. Choisissez simplement celui que vous voulez regarder, puis cliquez avec le bouton droit de la souris et choisissez "Ajouter aux montres" dans le menu déroulant.

 enter image description here

Continuez le débogage et vous devriez voir la variable de la mise à jour du cadre de la fenêtre Watches lorsque cela est approprié en fonction de votre code.

 enter image description here

11
vguzzi

Si vous connaissez les bases du débogage, vous pouvez facilement ajouter des contrôles à une variable qui arrête l'exécution du programme pour une condition donnée. Si vous ne voulez pas arrêter le programme chaque fois que vous voulez voir la valeur d'une variable, le moyen le plus simple de voir la valeur d'une variable consiste à utiliser Toasts . Un toast fournit un exemple de valeur de toute variable dans une opération dans un petit popup. Les toasts disparaissent automatiquement après un délai déterminé.

Un exemple de code simple:

Context context = getApplicationContext();
CharSequence text = "Hello toast!";
int duration = Toast.LENGTH_SHORT;

Toast toast = Toast.makeText(context, text, duration);
toast.show();

Pour voir la valeur de la variable dans un toast:

   int var=1;
   Toast.makeText(getApplicationContext(), "vlaue is "+var, Toast.LENGTH_LONG).show();

Pour voir le type de variable dans un toast:

   Toast.makeText(getApplicationContext(), "type is "+var.getClass().getName(), Toast.LENGTH_LONG).show();
0
Abdul Wahid