Führen Sie Winscope lokal aus oder greifen Sie über einen Webserver darauf zu.
Sie können mit Winscope für die lokale Entwicklung und Fehlerbehebung Traces erfassen. Winscope verwendet adb, das die Geräteverbindung über USB oder WLAN unterstützt.
Beim Starten von Winscope wird der Bildschirm Traces erfassen angezeigt.
Geräteverbindung
Sie können Geräte in Winscope über den Winscope-Proxy oder den Web Device Proxy verbinden. Standardmäßig wird auf der Winscope-Startseite die Benutzeroberfläche für die Winscope-Proxy-Verbindung angezeigt.
Wählen Sie einen der folgenden Mechanismen für die Geräteverbindung aus, um mit der Erfassung von Traces zu beginnen.
Winscope-Proxy-Einrichtung
So richten Sie Winscope Proxy ein:
Wählen Sie auf der Startseite unter Traces erfassen im Drop-down-Menü Verbindungstyp auswählen die Option Winscope Proxy aus:
Abbildung 1: Erfassen Sie Traces mit Winscope Proxy.
Starten Sie den Winscope ADB Connect-Proxy, um Traces direkt über Ihren Browser zu erfassen. Führen Sie dazu den folgenden Befehl aus:
python3 $ANDROID_BUILD_TOP/development/tools/winscope/src/adb/winscope_proxy.py
Notieren Sie sich das Winscope-Proxy-Token, das nach der Ausführung im Terminal angezeigt wird.
Nachdem Sie den Winscope ADB Connect-Proxy gestartet haben, ändert sich der Bildschirm so: Geben Sie zum Herstellen der ersten Verbindung zum Proxy das Winscope-Proxy-Token aus Schritt 3 ein und klicken Sie auf Verbinden.
Abbildung 2: Stellen Sie eine Verbindung zum Winscope-Proxy her.
Web Device Proxy einrichten
So richten Sie einen Web Device Proxy ein:
Wählen Sie auf der Startseite unter Traces erfassen im Drop-down-Menü Verbindungstyp auswählen die Option Web Device Proxy aus:
Abbildung 3: Erfassen Sie Traces mit dem Web Device Proxy.
Wenn der Web Device Proxy-Daemon nicht auf Ihrem Computer installiert ist, klicken Sie auf Installieren oder führen Sie das Installationsprogramm aus.
Genehmigen Sie über das Dialogfeld den Ursprungszugriff auf den Web Device Proxy.
Abbildung 4: Autorisieren Sie den Ursprung.
Genehmigen Sie den Zugriff für jedes neue Gerät, wenn Sie sich zum ersten Mal mit dem Gerät verbinden. Wenn das Dialogfeld nicht automatisch angezeigt wird, klicken Sie neben dem Gerät auf das Symbol
lock_open
:Abbildung 5: Gerät autorisieren
Traces
So erfassen Sie Traces:
Wenn Sie eine Verbindung hergestellt haben, wählen Sie die Ziele aus und konfigurieren Sie die Einstellungen, um die Aufnahme zu starten. Klicken Sie dann auf Trace starten, um die Erfassung zu starten:
Abbildung 6 Erfassen Sie Traces in Winscope.
Klicken Sie auf Aufzeichnung beenden, um die Aufzeichnung zu beenden:
Abbildung 7. Beenden Sie die Aufzeichnung in Winscope.
Trace-Optionen
In diesem Abschnitt werden die Optionen für die einzelnen Trace-Typen beschrieben.
Bildschirmaufzeichnung
Mit Winscope können Sie den Bildschirm mehrerer Displays aufzeichnen. Wählen Sie im Menü ein Display aus, um den Bildschirm aufzuzeichnen. Wenn Sie keine Auswahl treffen, wird in Winscope standardmäßig das aktive Display aufgezeichnet.
SurfaceFlinger
Puffergröße:Damit wird die Größe des In-Memory-Ringpuffers für die SurfaceFlinger-Spuren angepasst. Ein größerer Puffer ermöglicht die Erfassung von mehr Daten, erhöht aber die Arbeitsspeichernutzung.
Eingabe:Wenn die Oberfläche Eingabedaten enthält, werden die Details des Eingabefensters erfasst.
Komposition:Hier werden der Kompositionstyp und der sichtbare Bereich dargestellt.
Metadaten:Hier werden zusätzliche Oberflächenmetadaten erfasst, einschließlich nicht sichtbarer Ebenen.
HWC:Hier werden zusätzliche unstrukturierte Hardware-Composer-Metadaten erfasst.
Puffer erfassen:Konfiguriert SurfaceFlinger so, dass alle Pufferänderungen auf der Oberfläche erfasst werden. Standardmäßig zeichnet SurfaceFlinger nur dann einen neuen Status auf, wenn sich die Geometrie ändert.
Virtuelle Displays:Enthält virtuelle Displayschichten im Trace.
WindowManager
- Puffergröße:Passt die Größe des In-Memory-Ringpuffers für den WindowManager-Trace an. Ein größerer Puffer ermöglicht die Erfassung von mehr Daten, erhöht aber die Speichernutzung.
Typ der Erfassung:Hiermit werden die Häufigkeitsoptionen für die Erfassung von Status definiert:
- frame:In diesem Modus lagert der WindowManager einen einzelnen Status pro Frame aus, sodass nur gültige WindowManager-Status erfasst werden. Dieser Modus hat den geringsten Leistungsoverhead.
- transaction:In diesem Modus wird der Status des WindowManagers aufgezeichnet, wenn eine Transaktion committet wird. Sie können mehrere Transaktionen innerhalb eines Frames bestätigen, sodass sich Zwischenzustände des WindowManagers während eines Frames debuggen lassen. Dieser Modus hat jedoch einen höheren Leistungsoverhead als der Frame-Modus.
Tracing-Ebene:Bestimmt die Detaillierung der WindowManager-Protokolle:
- verbose:Enthält alle Fenster und Konfigurationsinformationen für jedes Fenster. Dieser Modus hat den höchsten Arbeitsspeicher- und Leistungsoverhead.
- debug:Enthält Informationen zu allen Fenstern, protokolliert aber nur die Fensterkonfiguration, wenn sie eine angeforderte Überschreibungskonfiguration enthält.
- critical:Enthält dieselben Informationen wie der Debug-Modus, jedoch nur für sichtbare Fenster. Dieser Modus hat den geringsten Speicher- und Leistungsoverhead.
Dumps
Wenn Sie mit Winscope einen Status-Dump erstellen möchten, wählen Sie auf der Startseite unter Traces erfassen den Tab Dump und dann Dump-Status aus:
Abbildung 8. Dump-Status in Winscope
Screenshot-Konfiguration
Mit Winscope können Sie einen Screenshot von mehreren Bildschirmen erstellen. Wählen Sie im Menü ein Display aus, um einen Screenshot zu erstellen. Wenn keine Auswahl getroffen wird, wird ein Screenshot des aktiven Displays erfasst.