Je tikt op Connect, het profiel draait een seconde en de client meldt dat de verbinding is verbroken. Support vraagt om logs, je voegt een schermafbeelding toe en de thread staat twee dagen stil omdat niemand kan zeggen welk deel van de handshake heeft opgegeven. Een rapport rond één poging, met een smal tijdvenster en de laatst voltooide fase, brengt het ticket in één ronde verder. Het alternatief, een hele dag telefoonlogs, geeft de persoon aan de andere kant meestal meer plekken om te kijken.

Twee telefoons op dezelfde gateway kunnen zich toch anders gedragen, omdat protocol, certificaatopslag, authenticatiemethode of verkeersbeleid niet overeenkomen. Het werkt op mijn iPhone is een uitgangspunt voor vergelijking, geen bewijs voor een Android-storing.

Leg één poging vast in plaats van een dag geschiedenis

Noteer de omgeving voordat je iets reproduceert: Android-versie, fabrikant en model, clientnaam en -versie, het gekozen profiel, het netwerk waarop je bent aangesloten en de kloktijd met tijdzone. Ik noteer ook of energiebesparing of Data Saver aan staat, want beide veranderen wat de client mag doen zodra het scherm uitgaat.

Bepaal daarna welk van de vijf uitkomsten je echt ziet. De toestemmings- of machtigingsprompt wordt nooit voltooid, het eindpunt is helemaal niet bereikbaar, de authenticatie wordt geweigerd, de interface-instelling mislukt na een geslaagde login, of de tunnel komt op en één specifieke bron blijft onbereikbaar. Elk daarvan heeft een andere eigenaar en een andere oplossing, en een bundel die ze vermengt krijgt het antwoord om het opnieuw te proberen. Het gissen tussen die mogelijkheden maakt van een ticket van een uur een week heen en weer.

Overgangen zijn ook belangrijk. Als de storing alleen na schermvergrendeling of na een overgang van Wi-Fi naar mobiele data verschijnt, zet dat dan in de eerste regel van het ticket en noteer de minuut waarin het gebeurde.

Exporteer eerst de log van de client zelf

De eerste bijlage moet uit de app komen en niet uit het besturingssysteem. De meeste clients bieden in de instellingen een export van diagnostische of verbindingslog, soms verstopt achter een lange druk op de versieregel, en die export begrijpt al zijn eigen toestandsmachine. Gebruik hem zoals hij eruit komt in plaats van de interessante regels opnieuw in de tickettekst te typen.

Voeg de eerste fout en de gebeurtenissen direct daarvoor toe, niet alleen de laatste regel over de verbroken verbinding. Een schone staart betekent meestal dat de echte storing eerder gebeurde: een certificaatketen die niet valideerde, een naam die op een onverwachte plek werd opgelost of een interface die nooit werd geconfigureerd.

Voeg alleen logcat toe voor een vraag die je kunt benoemen

Een terminalemulator op de telefoon is geen systeemlogger. Android logt zijn buffers als afzonderlijke ringvormige stromen die alleen bevoorrechte processen volledig kunnen lezen. Een gewone app ziet dus zijn eigen uitvoer plus een beperkt deel, en de bewering dat logcat leeg was bewijst heel weinig over wat het platform heeft vastgelegd.

Het ondersteunde pad is een geautoriseerde ADB-sessie vanaf een computer die je beheert. Zet ontwikkelaarsopties en USB-foutopsporing aan, sluit de kabel aan en accepteer de RSA-vingerafdrukdialoog op het apparaat; als die prompt wordt gesloten, mislukt elk later commando met unauthorized en begint er geen enkele opname.

Controleer of het apparaat er echt is voordat je tijd in een opname steekt. adb devices hoort het serienummer te printen gevolgd door het woord device, en alles wat offline of unauthorized toont, heeft eerst de kabel, de prompt of het stuurprogramma nodig.

Zodra het in de lijst staat, begin je enkele seconden voor het tikken op Connect met opnemen en stop je direct nadat de client opgeeft. Een live-opname met een bewuste start verslaat een dump die twintig minuten later wordt genomen, omdat de ringbuffers al zijn rondgedraaid en de vroege regels die je nodig hebt verdwenen kunnen zijn:

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

Filter op tijd en tag in plaats van op het woord VPN

Een opname doorzoeken op vpn is de snelste manier om de regel kwijt te raken die de storing verklaart. Certificaatvalidatie, procescrashes en veranderingen in connectiviteit worden gelogd onder tags die nooit VPN noemen, dus een trefwoordfilter houdt de ruis en gooit het bewijs weg.

Vernauw eerst het venster, dan de prioriteit en dan de tag. Wanneer je alleen nodig hebt wat er na een bekend moment gebeurde, speelt adb logcat -v threadtime -t '11-03 20:14:00.000' de recente staart vanaf dat punt opnieuw af, en het formaat threadtime houdt tijdstempels vergelijkbaar met de eigen export van de client.

Als je het clientpakket kent, volg dan het proces in plaats van tags te raden. adb shell pidof com.vendor.client geeft een PID terug en adb logcat --pid=1234 -v threadtime print alleen dat proces, terwijl adb logcat -g laat zien hoeveel ruimte elke buffer heeft voordat hij begint te overschrijven.

Verberg geheimen en lever daarna één samenhangende bundel op

Voordat er iets je machine verlaat, verwijder je wachtwoorden, tokens, privésleutels, sessiecookies en volledige apparaat-ID's. Bewaar de foutcodes, de volgorde van gebeurtenissen en de adresrelaties die de storing leesbaar maken, want een opname die voorbij dat punt is opgeschoond is net zo nutteloos als een die nooit is gefilterd.

Stuur daarna één bundel in plaats van meerdere losse bestanden: de export van de client, het ADB-venster vernoemd naar begintijd en stoptijd, een samenvatting van twee regels van de mislukte fase en de omgevingsnotitie boven aan deze lijst. Als een deel niet openbaar gepost kan worden, gebruik dan het privékanaal van de provider en zeg welk bestand dat kanaal nodig heeft.

Controleer voor het versturen vier dingen. Dekt de bundel één poging in plaats van een hele middag? Overlappen de tijdstempels van client en systeem? En staat er nog een token, wachtwoord of volledige abonnee-identificatie in? Los eerst dat laatste punt op en voeg de bestanden daarna toe aan het bestaande ticket in plaats van een nieuw te openen, zodat degene die het oppakt de eerdere context behoudt.

Gerelateerde artikelen