4 votes

Identifier le processus et/ou l'application source à partir d'une sortie dans le logcat.

Lorsque je branche mon téléphone sur mon ordinateur, je peux voir la sortie logcat dans Android Studio. J'ai récemment remarqué que lorsque je commence à saisir un mot de passe dans un champ réservé aux mots de passe (ceux qui affichent '*' pour tout caractère), le téléphone affiche un message très inquiétant sur la console :

D/HwAutofillHelper: inputType is password, now record

Puisque c'est un téléphone Honor, je suppose Hw est le diminutif de Huawei ?

Néanmoins, j'aimerais savoir s'il existe un moyen de savoir quel processus a produit cette sortie et à quelle application elle appartient ?

0 votes

D'après les résultats de la recherche sur Internet pour HwAutofillHelper Je suppose que cette classe n'existe que sur les appareils Huawei (toutes les références concernaient des appareils Huawei). Comme l'entrée du journal peut être produite par plusieurs applications, je suppose qu'il s'agit d'un cadre système qui est actif dans chaque application. Il serait intéressant de voir le code de cette classe...

5voto

Andrew T. Points 12017

Logcat peut montrer l'ID du processus (PID) qui produit le message de journal.

  • Pour ligne de commande : adb logcat utilisera threadtime par défaut, qui affiche le PID
  • Pour Android Studio :
    1. Ouvrez le Logcat fenêtre
    2. Dans la barre d'outils (à gauche), cliquez sur le bouton En-tête de Logcat bouton (roue dentée)
      • Si la barre d'outils n'est pas affichée, cliquez sur le bouton Afficher le menu des options (roue dentée) dans le coin supérieur droit, puis choisissez Afficher la barre d'outils
    3. Sur Configurer l'en-tête de Logcat dialogue, vérifiez Afficher les ID des processus et des threads puis appuyez sur OK

Par défaut, logcat affichera le journal dans l'ordre suivant format :

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

Avec le PID, il est possible d'identifier la source avec ps avec -p pour identifier la source, c'est-à-dire adb shell ps -p [PID] . La commande affichera le nom du paquet ou le nom de l'exécutable.


Exemple

Le logcat a renvoyé le message suivant

2020-07-08 22:06:16.002 18510-18510/? I/ScreenEventHandler: Received Broadcast ACTION_SCREEN_ON

Le PID est 18510.

Appel à adb shell ps -p 18510 a donné les résultats suivants

USER      PID   PPID  VSIZE   RSS   WCHAN            PC  NAME
u0_a107   18510 15708 1006092 44320 sys_epoll_ 00000000 S com.asksven.betterbatterystats

Ainsi, le message a été écrit par com.asksven.betterbatterystats (BetterBatteryStats)

2 votes

Une autre idée : obtenir l'APK et le parcourir / faire de l'ingénierie inverse pour trouver le nom de la classe et la ligne exacte dans le code.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X