Obecné návody[NÁVOD] Ako používať LogCat - pomôžte tým developerom

Odpovědět
Uživatelský avatar

Autor tohoto vlákna
pRo_lama
Moderátor
Příspěvky: 6424
Registrován: pon 06. pro 2010 7:41:23
Reputace: 326
Typ mobilu / ROM: Samsung Galaxy S8
Twitter: pRo_lama
Bydliště: Praha
Kontaktovat uživatele:

[NÁVOD] Ako používať LogCat - pomôžte tým developerom

Příspěvek od pRo_lama » ned 01. črc 2012 11:54:18

Existujú 2 spôsoby ako využívať LogCat:
1) prostredníctvom aplikácie v samotnom systéme Android
2) prostredníctvom ADB príkazovej konzoly

Prvý spôsob:
Existuje mnoho aplikácií čo dokáže zaznamenávať log(y), ale do pozornosti Vám dávam tieto 2 aplikácie - aLogCat alebo CatLog (osobne preferujem aplikáciu CatLog, lebo má krajšie UI)
- obidve aplikáciu dokážu ukladať výpisy do textového súboru čo je veľmi nápomocné práve pre vývojárov :yes:
- ak nechcete používať žiadnu spomenutú aplikáciu, môžete využiť samotnú aplikáciu Terminal (často ju obsahujú už ROM-ky), v ktorom platia tie isté príkazy ako budú spomenuté nižšie;

Druhý spôsob:
Druhým spôsobom je využitie ADB konzoly, čo je podľa mňa lepšia voľba, lebo je možné začať so zaznamenávaním už pri samotnom bootovaní zariadenia (napr. keď sa obajaví boot animácia).

Na to, aby sa začalo zaznamenávať do .txt súboru použijete príkaz:

Kód: Vybrat vše

adb logcat > nazov_suboru.txt
alebo

Kód: Vybrat vše

adb logcat -f nazov_suboru.txt
Možno najvhodnejšie je použiť túto metódu, ktorú ja dosť často využívam:

Kód: Vybrat vše

adb logcat -v long > nazov_suboru.txt
- argumenty -v a long v tomto prípade znamenajú, že každý riadok zo záznamu LogCat bude na samostatnom riadku čo nám zaručí, že výsledný log bude o dosť prehľadnejší;

POZNÁMKA: pokiaľ pri zaznamenávaní uvidíte prázdny riadok, tak sa neľakajte. Je to normálne. ;)

Na to, aby ste ukončili zaznamenávanie do súboru použite skratku Ctrl+C.

Najlepšie je si to všetko ukázať na príklade. Napr. keď som skúšal použiť iný ramdisk, wifi prestala fungovať takže som použil LogCat a získal som skoro 1300 riadkov výpisu (veľa vecí sa odohrávalo na pozadí). Takže ak hľadáte nejaký problém vo výpise najčastejšie hľadajte písmenko E (Error) alebo F (Fatal). Toto sú dve hlavné veci, ktoré dokážu narušiť chod systému.

Kód: Vybrat vše

D/dalvikvm(  871): GC_CONCURRENT freed 472K, 6% free 10224K/10823K, paused 1ms+6ms
V/AmazonAppstore.DiskInspectorServiceImpl(  871): Available blocks: 21981, Block size: 4096, Free: 90034176, Threshold: 5242880, withinThreshold? true
D/AmazonAppstore.UpdateService(  871): Received action: null from intent: Intent { cmp=com.amazon.venezia/com.amazon.mas.client.framework.UpdateService }
W/AmazonAppstore.UpdateService(  871): Confused about why I'm running with this intent action: null from intent: Intent { cmp=com.amazon.venezia/com.amazon.mas.client.framework.UpdateService }
D/dalvikvm(  890): GC_CONCURRENT freed 175K, 4% free 9375K/9671K, paused 2ms+3ms
V/AmazonAppstore.ReferenceCounter(  871): Reference (MASLoggerDB) count has gone to 0. Closing referenced object.
E/WifiStateMachine(  203): Failed to reload STA firmware java.lang.IllegalStateException: Error communicating to native daemon 
V/AmazonAppstore.UpdateService(  871): runUpdateCommand doInBackground started.
V/AmazonAppstore.UpdateService(  871): Running UpdateCommand: digitalLocker
V/AmazonAppstore.UpdateCommand(  871): Not updating key: digitalLocker from: 1334228488057
V/AmazonAppstore.UpdateService(  871): Finished UpdateCommand: digitalLocker
V/AmazonAppstore.UpdateService(  871): Running UpdateCommand: serviceConfig
V/AmazonAppstore.MASLoggerDB(  871): performLogMetric: Metric logged: ResponseTimeMetric [fullName=com.amazon.venezia.VeneziaApplication_onCreate, build=release-2.3, date=Wed Apr 11 13:10:55 CDT 2012, count=1, value=1601.0]
V/AmazonAppstore.MASLoggerDB(  871): onBackgroundTaskSucceeded: Metric logged: ResponseTimeMetric [fullName=com.amazon.venezia.VeneziaApplication_onCreate, build=release-2.3, date=Wed Apr 11 13:10:55 CDT 2012, count=1, value=1601.0]
W/CommandListener(  118): Failed to retrieve HW addr for eth0 (No such device)
D/CommandListener(  118): Setting iface cfg
D/NetworkManagementService(  203): rsp <213 00:00:00:00:00:00 0.0.0.0 0 [down]>
D/NetworkManagementService(  203): flags <[down]>
E/WifiStateMachine(  203): Unable to change interface settings: java.lang.IllegalStateException: Unable to communicate with native daemon to interface setcfg - com.android.server.NativeDaemonConnectorException: Cmd {interface setcfg eth0 0.0.0.0 0 [down]} failed with code 400 : {Failed to set address (No such device)}
W/PackageParser(  203): Unknown element under <manifest>: supports-screen at /mnt/asec/com.android.aldiko-1/pkg.apk Binary XML file line #16
D/wpa_supplicant(  930): wpa_supplicant v0.8.x
D/wpa_supplicant(  930): random: Trying to read entropy from /dev/random
D/wpa_supplicant(  930): Initializing interface 'eth0' conf '/data/misc/wifi/wpa_supplicant.conf' driver 'wext' ctrl_interface 'N/A' bridge 'N/A'
D/wpa_supplicant(  930): Configuration file '/data/misc/wifi/wpa_supplicant.conf' -> '/data/misc/wifi/wpa_supplicant.conf'
D/wpa_supplicant(  930): Reading configuration file '/data/misc/wifi/wpa_supplicant.conf'
D/wpa_supplicant(  930): ctrl_interface='eth0'
D/wpa_supplicant(  930): update_config=1
D/wpa_supplicant(  930): Line: 4 - start of a new network block
D/wpa_supplicant(  930): key_mgmt: 0x4
Podotýka, že toto je len 29 riadkov z 1300. :D

Takže ako ste si všimli, tak sú tam 2 riadky s E a môžme spraviť nasledovné:

Kód: Vybrat vše

adb logcat WifiStateMachine:E *:S -v long > nazov_suboru.txt
Tento príkaz nám zabezpečí to, že nám ukáže všetky problémy a chyby súvisiace s WifiStateMachine a všetky ostatné fatálne chyby, ktoré nám pomôžu o mnoho rýchlejšie a jednoduchšie vyriešiť daný problém.

V predchádzajúcom príkaze sme použili WifiStateMachine:E, kde :E znamená, to že hľadáme chyby (errors). Avšak môžme použiť aj iné možnosti ako sú:
  • V — Verbose (najnižšia priorita)
    D — Debug
    I — Info (základná priorita)
    W — Warning
    E — Error
    F — Fatal
    S — Silent
Takže môžete nahradiť :E hocijakým iným písmenkom pre získanie viac informácií. Na to, aby sme vyfiltrovali len to čo potrebujeme (v našom prípade WifiStateMachine) musíte na konci vždy použiť príkaz *:S (napr. WifiStateMachine:E ThemeChoose:V ... ... AndroidRuntime:E *:S)

Zdroje: XDA, LogCat, ADB


MOBIL: Samsung Galaxy S8 (64 GB) | TABLET: Nexus 7 (2013)
GADGET: Samsung Gear S2 (SM-R720) + Samsung Gear Fit (SM-R350) + Sony SmartWatch 2



maros6666
Stálý androiďák
Příspěvky: 53
Registrován: pon 31. říj 2011 21:41:03
Reputace: 0
Typ mobilu / ROM: LG G2 32GB CZ distribucia

Re: [NÁVOD] Ako používať LogCat - pomôžte tým developerom

Příspěvek od maros6666 » ned 07. dub 2013 17:03:27

Čav. Chcem sa spýtať, či aplikácia alogcat zaznamenáva log stále. Mám totiž problém s telef=onom, keď sa mi často vypína. Nabijem ho na 100% odpojim z kabla a pripojim sa na wifi. Prehliadam net asi 5 minut, niekedy aj menej a telefon sa sam od seba vypne. Potom keď ho zapnem asi po 20 minutach ukazuje zostavajucu kapacitu baterky asi 60%. Preto potrebujem zistiť čo mi ho vypína. Ďakujem

Uživatelský avatar

Autor tohoto vlákna
pRo_lama
Moderátor
Příspěvky: 6424
Registrován: pon 06. pro 2010 7:41:23
Reputace: 326
Typ mobilu / ROM: Samsung Galaxy S8
Twitter: pRo_lama
Bydliště: Praha
Kontaktovat uživatele:

Re: [NÁVOD] Ako používať LogCat - pomôžte tým developerom

Příspěvek od pRo_lama » ned 07. dub 2013 17:30:42

Pokiaľ viem, tak ak vypneš mobil, tak sa samozrejme nezaznamenáva.
MOBIL: Samsung Galaxy S8 (64 GB) | TABLET: Nexus 7 (2013)
GADGET: Samsung Gear S2 (SM-R720) + Samsung Gear Fit (SM-R350) + Sony SmartWatch 2


maros6666
Stálý androiďák
Příspěvky: 53
Registrován: pon 31. říj 2011 21:41:03
Reputace: 0
Typ mobilu / ROM: LG G2 32GB CZ distribucia

Re: [NÁVOD] Ako používať LogCat - pomôžte tým developerom

Příspěvek od maros6666 » ned 07. dub 2013 17:37:57

to mi je jasné. ja len potrebujem zaznamenať prečo "dostal príkaz" vypnúť sa. Aby som vedel kde je chyba... Niečo sa mi podarilo. Tu je log:

https://www.dropbox.com/s/eyxhthupr6xmt ... 2B0200.txt

Vieš z thoho niečo vyčítať? Budem robiť logy aj ďalej, tak potom upnem aj ďalší, keď mi to spraví chybu. Ďakujem zatiaľ

Uživatelský avatar

Autor tohoto vlákna
pRo_lama
Moderátor
Příspěvky: 6424
Registrován: pon 06. pro 2010 7:41:23
Reputace: 326
Typ mobilu / ROM: Samsung Galaxy S8
Twitter: pRo_lama
Bydliště: Praha
Kontaktovat uživatele:

Re: [NÁVOD] Ako používať LogCat - pomôžte tým developerom

Příspěvek od pRo_lama » ned 07. dub 2013 17:46:49

Ja bohužiaľ tie logy neviem kontrolovať. Skús na ten odkaz na XDA. ;)
MOBIL: Samsung Galaxy S8 (64 GB) | TABLET: Nexus 7 (2013)
GADGET: Samsung Gear S2 (SM-R720) + Samsung Gear Fit (SM-R350) + Sony SmartWatch 2



maros6666
Stálý androiďák
Příspěvky: 53
Registrován: pon 31. říj 2011 21:41:03
Reputace: 0
Typ mobilu / ROM: LG G2 32GB CZ distribucia

Re: [NÁVOD] Ako používať LogCat - pomôžte tým developerom

Příspěvek od maros6666 » ned 07. dub 2013 17:47:35

ok. skúsim.

Uživatelský avatar

Autor tohoto vlákna
pRo_lama
Moderátor
Příspěvky: 6424
Registrován: pon 06. pro 2010 7:41:23
Reputace: 326
Typ mobilu / ROM: Samsung Galaxy S8
Twitter: pRo_lama
Bydliště: Praha
Kontaktovat uživatele:

Re: [NÁVOD] Ako používať LogCat - pomôžte tým developerom

Příspěvek od pRo_lama » ned 07. dub 2013 17:49:11

Ale z toho čo som videl, tak tam bolo dosť chýb, ale našťastie nie fatálnych.
MOBIL: Samsung Galaxy S8 (64 GB) | TABLET: Nexus 7 (2013)
GADGET: Samsung Gear S2 (SM-R720) + Samsung Gear Fit (SM-R350) + Sony SmartWatch 2

Odpovědět

Zpět na „Obecné návody“

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 1 host