Dotaknete se Connect, profil se vrti sekundo in odjemalec sporoči prekinitev. Podpora zahteva dnevnike, priložite posnetek zaslona in nit obstane za dva dni, ker nihče ne more povedati, kateri del rokovanja je obupal. Poročilo, zgrajeno okoli enega poskusa, z ozkim časovnim oknom in zadnjo dokončano stopnjo, premakne zahtevek naprej v enem krogu. Alternativa, cel dan telefonskih dnevnikov, običajno da osebi na drugi strani več mest za ogled.

Dva telefona na istem prehodu se lahko še vedno obnašata različno, ker se protokol, shramba potrdil, način preverjanja ali prometna politika morda ne ujemajo. Deluje na mojem telefonu je izhodišče za primerjavo, ne dokaz o okvari Androida.

Zajemite en poskus namesto celega dneva zgodovine

Zapišite okolje, preden kar koli ponovite: različico Androida, proizvajalca in model, ime in različico odjemalca, izbrani profil, omrežje, na katerega ste povezani, in uro z njenim časovnim pasom. Zabeležim tudi, ali sta vključena varčevanje z baterijo ali Data Saver, ker oba spreminjata, kaj odjemalec sme početi po izklopu zaslona.

Nato ugotovite, katerega od petih izidov v resnici vidite. Poziv za soglasje ali dovoljenje se nikoli ne zaključi, končne točke sploh ni mogoče doseči, preverjanje je zavrnjeno, nastavitev vmesnika ne uspe po uspešni prijavi ali tunel se dvigne in en vir ostane nedosegljiv. Vsak ima drugega lastnika in drugo rešitev, paket, ki jih zmeša, pa prejme odgovor, naj poskusite znova. Prav ugibanje med njimi spremeni urni zahtevek v teden dopisovanja.

Pomembni so tudi prehodi. Če se napaka pojavi le po zaklepu zaslona ali po preklopu z Wi-Fi na mobilne podatke, to zapišite v prvo vrstico zahtevka in zabeležite minuto, ko se je zgodilo.

Najprej izvozite odjemalčev lastni dnevnik

Prva priloga naj pride iz aplikacije in ne iz operacijskega sistema. Večina odjemalcev v nastavitvah ponuja izvoz diagnostičnega dnevnika ali dnevnika povezave, včasih skritega za dolgim pritiskom na niz različice, in ta izvoz že razume svoj lastni stroj stanj. Uporabite ga takšnega, kot pride, namesto da bi zanimive vrstice znova vtipkali v telo zahtevka.

Priložite prvo napako in dogodke tik pred njo, ne le zadnje vrstice o prekinitvi. Čist rep običajno pomeni, da se je prava napaka zgodila prej: veriga potrdil, ki se ni potrdila, ime, razrešeno na nepričakovanem mestu, ali vmesnik, ki ni bil nikoli konfiguriran.

Dodajte logcat le za vprašanje, ki ga znate poimenovati

Emulator terminala na telefonu ni sistemski beležnik. Android beleži svoje medpomnilnike kot ločene krožne tokove, ki jih lahko v celoti berejo le privilegirani procesi. Zato običajna aplikacija vidi svoj izhod in omejen del, trditev, da je bil logcat prazen, pa dokaže zelo malo o tem, kaj je platforma zabeležila.

Podprta pot je pooblaščena seja ADB z računalnika, ki ga nadzorujete. Vklopite razvijalske možnosti in razhroščevanje USB, priključite kabel in na napravi sprejmite pogovorno okno prstnega odtisa RSA; če je ta poziv zaprt, vsak naslednji ukaz ne uspe z unauthorized in nobeno zajemanje se ne začne.

Preden vložite čas v zajemanje, potrdite, da je naprava res tam. adb devices mora izpisati serijsko številko in za njo besedo device, in vse, kar prikazuje offline ali unauthorized, potrebuje najprej urejen kabel, poziv ali gonilnik.

Ko se prikaže na seznamu, začnite zajemati nekaj sekund pred dotikom Connect in ustavite takoj po tem, ko odjemalec obupa. Živ zajem z namernim začetkom premaga izpis, vzet dvajset minut kasneje, ker so se krožni medpomnilniki že obrnili in zgodnje vrstice, ki jih potrebujete, so morda izginile:

adb logcat -v threadtime -b main,system,crash > attempt.txt

Filtrirajte po času in oznaki, ne po besedi VPN

Iskanje vpn v zajemu je najhitrejši način, da izgubite vrstico, ki pojasnjuje napako. Preverjanje potrdil, sesutja procesov in spremembe povezljivosti se beležijo pod oznakami, ki nikoli ne omenijo VPN, zato filter po ključni besedi obdrži šum in zavrže dokaze.

Najprej zožite okno, nato prednost, nato oznako. Ko potrebujete le tisto, kar se je zgodilo po znanem trenutku, adb logcat -v threadtime -t '11-03 20:14:00.000' predvaja nedavni rep od te točke, oblika threadtime pa ohranja časovne žige primerljive z odjemalčevim lastnim izvozom.

Če poznate paket odjemalca, sledite njegovemu procesu, namesto da ugibate oznake. adb shell pidof com.vendor.client vrne PID in adb logcat --pid=1234 -v threadtime izpiše le ta proces, medtem ko adb logcat -g pokaže, koliko prostora ima vsak medpomnilnik, preden začne prepisovati.

Skrijte skrivnosti in nato predajte en povezan paket

Preden karkoli zapusti vaš računalnik, odstranite gesla, žetone, zasebne ključe, piškotke seje in popolne identifikatorje naprave. Ohranite kode napak, vrstni red dogodkov in razmerja naslovov, ki naredijo napako berljivo, ker je zajem, očiščen onkraj te meje, enako neuporaben kot tisti, ki ni bil nikoli filtriran.

Nato pošljite en paket namesto več prostih datotek: izvoz odjemalca, okno ADB, poimenovano po začetnem in končnem času, dvovrstični povzetek stopnje, ki ni uspela, in opombo o okolju z vrha tega seznama. Če dela ni mogoče objaviti javno, uporabite zasebni kanal za podporo ponudnika in povejte, katera datoteka potrebuje ta kanal.

Pred pošiljanjem preverite štiri stvari. Ali paket zajema en poskus in ne celega popoldneva? Ali se časovni žigi odjemalca in sistema prekrivajo? In ali še vedno vsebuje žeton, geslo ali popoln identifikator naročnika? Najprej popravite to zadnjo točko, nato priložite datoteke obstoječemu zahtevku, namesto da odprete novega, da tisti, ki ga prevzame, ohrani prejšnji kontekst.

Sorodni članki