Rejestrowanie śladów za pomocą Winscope

Uruchom Winscope lokalnie lub uzyskaj do niego dostęp z serwera WWW.

Możesz tworzyć ścieżki za pomocą Winscope do programowania lokalnego i debugowania. Winscope używa adb, które obsługuje połączenie z urządzeniem przez USB lub Wi-Fi.

Po uruchomieniu Winscope wyświetla się ekran Zbieraj ślady.

Połączenie urządzenia

Urządzenia w Winscope możesz łączyć za pomocą serwera proxy Winscope lub serwera proxy urządzenia internetowego. Domyślnie na stronie głównej Winscope wyświetla się interfejs konfiguracji połączenia Winscope Proxy.

Aby rozpocząć rejestrowanie śladów, wybierz jeden z tych mechanizmów łączenia urządzeń.

Konfiguracja proxy Winscope

Aby skonfigurować Winscope Proxy, wykonaj te czynności:

  1. Na stronie głównej w sekcji Zbieraj ślady w menu Wybierz typ połączenia kliknij Winscope Proxy:

    Rejestrowanie śladów za pomocą serwera proxy Winscope

    Rysunek 1. rejestrować ślady za pomocą serwera proxy Winscope.

  2. Uruchom proxy Winscope ADB Connect, aby rejestrować ślady bezpośrednio w przeglądarce, wykonując to polecenie:

    python3 $ANDROID_BUILD_TOP/development/tools/winscope/src/adb/winscope_proxy.py
    
  3. Zwróć uwagę na token zastępczy Winscope wyświetlany w terminalu po wykonaniu.

  4. Po uruchomieniu serwera proxy Winscope ADB Connect ekran zmieni się w ten sposób: Aby nawiązać pierwsze połączenie z serwerem proxy, wpisz token serwera proxy Winscope z kroku 3 i kliknij Połącz.

    Łączenie z Winscope Proxy

    Rysunek 2. Połącz się z serwerem proxy Winscope.

Konfigurowanie serwera proxy urządzenia internetowego

Aby skonfigurować urządzenie internetowe:

  1. Na stronie głównej w sekcji Zbieraj ścieżki w menu Wybierz typ połączenia kliknij Web Device Proxy (Pośrednik urządzenia internetowego):

    Przechwytywanie śladów za pomocą serwera proxy urządzenia internetowego

    Rysunek 3. Przechwyć ścieżki za pomocą serwera proxy urządzenia internetowego.

  2. Jeśli na komputerze nie masz demona Web Device Proxy, kliknij Zainstaluj lub uruchom instalator.

  3. Zatwierdź dostęp źródła do internetowego serwera proxy urządzenia w oknie dialogowym.

    Zezwalanie na dostęp do WDP w źródle

    Rysunek 4. Autoryzuj punkt początkowy.

  4. Zatwierdzaj dostęp do każdego nowego urządzenia przy pierwszym połączeniu. Jeśli okno nie otworzy się automatycznie, kliknij ikonę lock_open obok urządzenia:

    wdp_unauth_device

    Rysunek 5. autoryzować urządzenie,

Ścieżki

Aby zebrać ślady:

  1. Po nawiązaniu połączenia, aby rozpocząć proces przechwytywania, wybierz cele i skonfiguruj ustawienia. Następnie kliknij Rozpocznij śledzenie, aby rozpocząć nagrywanie:

    Zbieranie śladów w Winscope

    Rysunek 6. Zbieraj ślady w Winscope.

  2. Aby zatrzymać nagrywanie, kliknij Zakończ śledzenie:

    Zakończ śledzenie w Winscope

    Rysunek 7. Zakończ śledzenie w Winscope.

Opcje śledzenia

W tej sekcji opisujemy opcje dotyczące poszczególnych typów ścieżek.

Nagrywanie ekranu

Za pomocą Winscope możesz nagrywać ekrany wielu wyświetlaczy. Wybierz wyświetlacz z menu nagrywania ekranu. Jeśli nie wybierzesz opcji, Winscope domyślnie zarejestruje aktywny wyświetlacz.

SurfaceFlinger

  • Rozmiar bufora: dostosowuje rozmiar pętli buforowej w pamięci dla ścieżki SurfaceFlinger. Większy bufor umożliwia zbieranie większej ilości danych, ale zwiększa wykorzystanie pamięci.

  • Dane wejściowe: jeśli powierzchnia zawiera dane wejściowe, śledzi szczegóły okna danych wejściowych.

  • Kompozycja: śledzi typ kompozycji i widoczny obszar.

  • Metadane: śledzi dodatkowe metadane powierzchni, w tym warstwy poza ekranem.

  • HWC: śledzi dodatkowe nieuporządkowane metadane kompozytora sprzętowego.

  • Bufory śledzenia:konfiguruje SurfaceFlingera do śledzenia wszystkich zmian bufora na powierzchni. Domyślnie SurfaceFlinger śledzi nowy stan tylko wtedy, gdy geometria ulegnie zmianie.

  • Wyświetlacze wirtualne: zawiera w śladzie warstwy wyświetlaczy wirtualnych.

WindowManager

  • Rozmiar bufora: dostosowuje rozmiar pętli w pamięci dla ścieżki WindowManager. Większy bufor umożliwia zbieranie większej ilości danych, ale zwiększa wykorzystanie pamięci.
  • Typ śledzenia: określa opcje częstotliwości zbierania stanów:

    • frame: w tym trybie WindowManager zrzuca pojedynczy stan na każdy frame, co zapewnia, że są rejestrowane tylko prawidłowe stany WindowManager. Ten tryb ma najmniejszy narzut na wydajność.
    • transaction: ten tryb zapisuje stan WindowManagera za każdym razem, gdy transakcja zostanie zatwierdzona. W ramach jednego ramki możesz zatwierdzać wiele transakcji, co umożliwia debugowanie pośrednich stanów WindowManager w ramce. Jednak ten tryb ma większą wydajność niż tryb ramki.
  • Poziom śledzenia: określa szczegółowość ścieżek WindowManager:

    • szczegółowy: zawiera informacje o wszystkich oknach i konfiguracji każdego okna. W tym trybie zużycie pamięci i obciążenie procesora są najwyższe.
    • debug: zawiera informacje o wszystkich oknach, ale rejestruje tylko konfigurację okna, jeśli zawiera ona żądaną konfigurację zastąpienia.
    • critical: zawiera te same informacje co tryb debugowania, ale obejmuje tylko widoczne okna. Ten tryb ma najmniejszy narzut na pamięć i wydajność.

Dumps

Aby utworzyć kopię stanu za pomocą Winscope, na stronie głównej w sekcji Zbieraj ścieżki kliknij kolejno karty DumpDump state:

Zrzut stanu w Winscope

Rysunek 8. Zrzut stanu w Winscope.

Konfiguracja zrzutów ekranu

Winscope umożliwia robienie zrzutów ekranu z wielu wyświetlaczy. Wybierz wyświetlacz z menu, aby zrobić zrzut ekranu. Jeśli nie wybierzesz żadnej opcji, zrzut ekranu zostanie zrobiony z aktywnego ekranu.