L'application s'est arrêtée de façon inattendue: comment déboguer?

veuillez noter, contrairement à beaucoup d'autres questions ayant pour objet "application a cessé de façon inattendue", Je ne demande pas de résoudre un problème particulier.

plutôt, je demande un aperçu de la meilleure stratégie pour un rookie Android/Eclipse/Java pour s'attaquer à cette tâche formidable de digérer d'énormes quantités d'informations afin de développer (et de déboguer!) une simple application Android.

dans mon cas, j'ai pris l'application sample skeleton du SDK, modifié un peu et qu'est-ce que j'ai eu au moment où j'ai essayé de l'exécuter?

la demande (process.com.exemple.androïde.skeletonapp) a arrêté de façon inattendue. S'il vous plaît essayer encore.

OK, donc je sais que je dois chercher LogCat. C'est plein de lignes rythmées qui me regardent... Que dois-je faire maintenant? Que dois-je regarder?

Est-il possible à une seule étape du programme pour trouver l'instruction qui rend l'application crash? (Je la pensée des programmes Java ne jamais tomber en panne, mais apparemment je me trompais)

Comment puis-je placer un point de rupture?

Pouvez-vous recommander un Android debug tutoriel en ligne, autre que celui-ci?

23
demandé sur Android Eve 2011-02-24 02:03:11

5 réponses

Je suis aussi débutant en Eclipse/Android, mais j'espère que mon simple processus de débogage pourra aider...

vous définissez les points de rupture dans Eclipse en cliquant avec le bouton droit de la souris à côté de la ligne sur laquelle vous voulez casser et en sélectionnant "bascule du point de rupture". De là, vous devrez sélectionner "Debug" plutôt que la norme "Run", qui vous permettra de l'étape et ainsi de suite. Utilisez les filtres fournis par LogCat (référencés dans votre tutoriel) afin que vous puissiez cibler les messages que vous voulez plutôt que de passer à travers toutes les données de sortie. Cela vous aidera (avec un peu de chance) à donner un sens à vos erreurs.

en ce qui concerne les autres bons tutoriels, j'en ai cherché quelques-uns moi-même, mais je n'ai pas encore réussi à trouver de gemmes.

16
répondu HappyCodeMonkey 2011-02-23 23:23:29

Filtrez votre journal de bord en erreur et recherchez L'EXCEPTION fatale

9
répondu jqpubliq 2011-02-23 23:14:18

si vous utilisez L'affichage Logcat dans la perspective' debug ' dans Eclipse, les lignes sont codées par couleur. Il est assez facile de trouver ce qui a fait planter votre application car il est généralement en rouge.

la machine virtuelle Java (ou Dalvik) ne devrait jamais se planter, mais si votre programme lance une exception et ne l'attrape pas, la VM mettra fin à votre programme, ce qui est le "crash" que vous voyez.

4
répondu Richard 2011-02-23 23:32:38

Vérifiez si votre application dispose des autorisations nécessaires.J'ai aussi eu la même erreur et j'ai vérifié le journal de débogage logcat qui montrait ceci:

04-15 13:38:25.387: E/AndroidRuntime(694): java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.CALL dat=tel:555-555-5555 cmp=com.android.phone/.OutgoingCallBroadcaster } from ProcessRecord{44068640 694:rahulserver.test/10055} (pid=694, uid=10055) requires android.permission.CALL_PHONE

j'ai alors donné la permission nécessaire dans mon androïde-manifeste qui a fonctionné pour moi.

0
répondu rahulserver 2012-04-15 08:17:04
  1. à partir de l'écran D'accueil, appuyez sur la touche Menu.
  2. élément de la Liste
  3. Paramètres Tactiles.
  4. Applications Tactiles.
  5. Touch Gérer Les Applications.
  6. Touche À Tout.
  7. sélectionnez l'application qui a des problèmes.
  8. touchez des données claires et supprimez le cache si elles sont disponibles. Cela permet de réinitialiser l'application comme si elle était nouvelle, et peut supprimer les données personnelles stockées dans l'application.
-2
répondu Romualdo Alves 2012-11-25 01:01:02