115 votes

Logcat ne affiche pas mes appels de journalisation

Je suis complètement débutant en programmation Android et je voulais apprendre comment déboguer mes applications. Je ne parviens pas à afficher mes appels Log.i|d|v dans LogCat.

Voici le code que j'utilise. Comme vous pouvez le voir, j'ai défini une constante LOG_TAG, mais je ne parviens pas à la trouver dans LogCat. J'ai également importé android.util.Log ET je me suis assuré que dans mon AndroidManifest j'ai "debuggable" défini sur TRUE.

J'ai également vérifié http://developer.android.com/reference/android/util/Log.html sans succès pour résoudre ce problème.

Qu'est-ce que je fais de mal? Suis-je même au bon endroit? J'ai également essayé d'utiliser DDMS et la perspective de débogage sans succès. Toute aide pour ce débutant serait grandement appréciée. Merci.

Mon environnement: Windows XP IDE = Eclipse Version: 3.6.1, Build id: M20100909-0800 Émulateur = configuré pour pointer vers android sdk 2.1 api 7

//code HELLO World très basique avec quelques appels Log.i

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;

public class debugger extends Activity {
    private static final String LOG_TAG = "debugger";

    /** Appelé lorsque l'activité est créée pour la première fois. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        Log.i(LOG_TAG, "ligne 13");
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        Log.i(LOG_TAG, "EN TRAIN DE CRÉER MAINTENANT");
    }
}

0 votes

Il ne semble pas que vous fassiez quoi que ce soit de mal, êtes-vous sûr que votre Activité est en cours de démarrage? Avez-vous des filtres définis dans la vue du logcat? Avez-vous essayé la version en ligne de commande de logcat? (adb logcat)

0 votes

Oui, j'ai essayé la ligne de commande et enregistré dans un fichier texte et je n'ai toujours pas pu le trouver. Je sais que l'activité a commencé car je vois le message "Hello World" dans l'émulateur. J'ai essayé de consulter le logcat avec et sans filtres et toujours pas de chance.

0 votes

Essayez la commande adb logcat et ne filtrez rien d'abord. Je suis assez sûr que votre code fonctionne et s'imprime dans le journal.

143voto

ddewaele Points 11888

Lors de l'utilisation d'Eclipse, dans la perspective DDMS, assurez-vous que le bon appareil (probablement emulator-xxxx) est sélectionné et mis en surbrillance. Seulement alors vous obtiendrez la sortie logcat dans la vue logcat.

De plus, le plugin Android est un peu capricieux, et parfois ne montre que la dernière ligne dans la vue logcat. Si cela se produit, essayez de vider le journal. Après cela, vous devriez à nouveau obtenir toutes les entrées du journal (en tout cas, cela fonctionne pour moi).

0 votes

Oui, tous les problèmes que j'ai rencontrés également. Si vous faites défiler la vue Logcat, elle ne se déplacera pas automatiquement avec les mises à jour futures tant que vous ne ferez pas défiler vers le bas.

2 votes

Ha! J'ai combattu cela pendant un certain temps. J'ai ouvert DDMS et j'avais un ancien émulateur sélectionné. Pourquoi il ne se met pas par défaut sur l'émulateur actuellement en cours d'exécution est étrange.

0 votes

La réponse de ddewaele a résolu mon problème, il suffit simplement de laisser LogCat là où il doit se concentrer. En passant, vous n'avez pas besoin de changer de perspective pour ouvrir le menu des appareils. Il suffit d'aller sur Fenêtre>> Afficher la vue>> Autre>> Android>> Appareils pour ouvrir le panneau des appareils.

71voto

Dheeraj Bhaskar Points 5244

Si tout le reste échoue:

J'ai fait toutes les choses ci-dessus et je n'ai pas pu comprendre ce qui n'allait pas,

Testez avec:

adb logcat

pour découvrir que mes entrées étaient en fait dans logcat, mais c'était les bizarreries d'adt.

Correction:

Redémarrez Eclipse

C'était la seule chose qui a réparé cela.

1 votes

Cela fonctionne, mais je ne peux pas cesser de redémarrer Eclipse car ce problème se produit souvent pour moi. Est-ce que quelqu'un a une meilleure solution?

0 votes

@KhaledAlanezi devrait envisager d'utiliser logcat à partir de l'invite de commande ou de Windows PowerShell (meilleur).

1 votes

Je redémarre juste Eclipse à chaque fois que cela se produit et cela résout toujours le problème. Cela arrive généralement une fois par jour mais je suis déjà habitué à être déçu par Eclipse..

9voto

anjaneya Points 407

Redémarrez Eclipse et vérifiez si le logcat s'affiche.

6voto

Marek Walasek Points 21

J'ai compris que j'importais automatiquement com.sileria.Log (à partir d'un projet de bibliothèque) au lieu de android.util.Log, qui était le bon. Vérifiez également vos imports.

3voto

yock Points 3729

J'ai remarqué qu'Eclipse lancera parfois une exception lors du démarrage d'une application Android, puis LogCat cesse de se mettre à jour. J'ai corrigé cela en redémarrant simplement Eclipse. Je ne suis pas sûr si vous avez essayé cela et je sais que ce n'est pas une solution optimale, mais je soupçonne que le plugin Eclipse a encore quelques bugs à résoudre.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X