Winscope ile izlemeleri yakalama

Winscope'u yerel olarak çalıştırın veya bir web sunucusundan erişin.

Yerel geliştirme ve hata ayıklama için Winscope'u kullanarak izlemeler yakalayabilirsiniz. Winscope, USB veya kablosuz ağ üzerinden cihaz bağlantısını destekleyen adb'yi kullanır.

Winscope'u başlattığınızda İzleri Topla ekranı gösterilir.

Cihaz bağlantısı

Winscope Proxy veya Web Cihaz Proxy'si'ni kullanarak Winscope'ta cihaz bağlayabilirsiniz. Winscope ana sayfasında varsayılan olarak Winscope Proxy bağlantı kurulumu kullanıcı arayüzü gösterilir.

İzler yakalamaya başlamak için aşağıdaki cihaz bağlantı mekanizmalarından birini seçin.

Winscope Proxy kurulumu

Winscope Proxy'yi ayarlamak için aşağıdaki adımları uygulayın:

  1. Ana sayfadaki İzleri Topla bölümünde, Bağlantı türünü seçin açılır menüsünden Winscope Proxy'yi seçin:

    Winscope Proxy'yi kullanarak izlemeleri yakalama

    Şekil 1. Winscope Proxy'yi kullanarak izlemeleri yakalama

  2. Aşağıdaki komutu çalıştırarak doğrudan tarayıcınızdan izlemeleri yakalamak için Winscope ADB Connect proxy'sini başlatın:

    python3 $ANDROID_BUILD_TOP/development/tools/winscope/src/adb/winscope_proxy.py
    
  3. Yürütme işleminden sonra terminalde görüntülenen Winscope proxy jetonunu not edin.

  4. Winscope ADB Connect proxy'sini başlattıktan sonra ekran aşağıdaki gibi değişir. Proxy'ye ilk bağlantıyı kurmak için 3. adımdaki Winscope proxy jetonunu girin ve Bağlan'ı tıklayın.

    Winscope Proxy'ye bağlanma

    Şekil 2. Winscope Proxy'ye bağlanın.

Web Device Proxy kurulumu

Web cihaz proxy'sini ayarlamak için aşağıdaki adımları uygulayın:

  1. Ana sayfadaki İzleri topla bölümünde, Bağlantı türünü seçin açılır listesinde Web cihazı proxy'si'ni seçin:

    Web cihaz proxy'sini kullanarak izlemeleri yakalama

    Şekil 3. Web cihaz proxy'sini kullanarak izlemeler yapın.

  2. Makinenizde Web Cihaz Proxy'si daemon'u yoksa Yükle'yi tıklayın veya yükleyiciyi çalıştırın.

  3. İletişim kutusunu kullanarak kaynağın Web Cihaz Proxy'sine erişimini onaylayın.

    Kaynak WDP erişimine yetki verme

    Şekil 4. Kaynağı yetkilendirin.

  4. Her yeni cihaza ilk kez bağlandığınızda erişimi onaylayın. İletişim kutusu otomatik olarak görünmüyorsa cihazın yanındaki lock_open simgesini tıklayın:

    wdp_unauth_device

    Şekil 5. Cihazı yetkilendirin.

İzler

İzler toplamak için aşağıdaki adımları uygulayın:

  1. Bağlıyken yakalama işlemini başlatmak için hedefleri seçin ve ayarları yapılandırın. Ardından, yakalamayı başlatmak için İzlemeye başla'yı tıklayın:

    Winscope'ta iz toplama

    Şekil 6. Winscope'ta iz toplayın.

  2. Kaydı durdurmak için İzleme işlemini sonlandır'ı tıklayın:

    Winscope'ta izlemeyi sonlandırma

    Şekil 7. Winscope'ta izlemeyi sonlandırın.

İzleme seçenekleri

Bu bölümde, her bir izleme türüne ait seçenekler açıklanmaktadır.

Ekran kaydı

Winscope ile birden fazla ekranın ekranını kaydedebilirsiniz. Ekran kaydı yapmak için menüden bir ekran seçin. Bir seçim yapmazsanız Winscope varsayılan olarak etkin ekranı kaydeder.

SurfaceFlinger

  • Arabellek boyutu: SurfaceFlinger izlemesi için bellek içi halka arabelleğinin boyutunu ayarlar. Daha büyük bir arabellek daha fazla veri toplamayı sağlar ancak bellek kullanımını artırır.

  • Giriş: Yüzey giriş verileri içeriyorsa giriş penceresinin özelliklerini izler.

  • Yapı: Yapı türünü ve görünür bölgeyi izler.

  • Meta veriler: Ekran dışı katmanlar da dahil olmak üzere ek yüzey meta verilerini izler.

  • HWC: Ek yapılandırılmamış donanım derleyici meta verilerini izler.

  • Arabellekleri izle: SurfaceFlinger'ı, yüzeydeki tüm arabellek değişikliklerini izlemek için yapılandırır. SurfaceFlinger, varsayılan olarak yalnızca geometri değiştiğinde yeni bir durumu izler.

  • Sanal ekranlar: İzlemede sanal ekran katmanlarını içerir.

WindowManager

  • Arabellek boyutu: WindowManager izlemesi için bellek içi halka arabelleğinin boyutunu ayarlar. Daha büyük bir arabellek daha fazla veri toplamayı sağlar ancak bellek kullanımını artırır.
  • İzleme türü: Durumları toplama sıklığı seçeneklerini tanımlar:

    • frame: Bu modda WindowManager, yalnızca geçerli WindowManager durumlarının yakalanmasını sağlayarak her kare için tek bir durum döker. Bu mod, en düşük performans yüküne sahiptir.
    • transaction: Bu mod, bir işlem her işlendiğinde bir WindowManager durumunu kaydeder. Bir kare içinde birden fazla işlem yapabilirsiniz. Bu sayede, bir kare sırasında ara WindowManager durumlarında hata ayıklama yapabilirsiniz. Ancak bu mod, çerçeve moduna kıyasla daha yüksek performans yükü oluşturur.
  • İzleme düzeyi: WindowManager izlemelerinin ayrıntı düzeyini belirler:

    • ayrıntılı: Tüm pencereleri ve her pencerenin yapılandırma bilgilerini içerir. Bu mod, en yüksek bellek ve performans yükü oluşturur.
    • debug: Tüm pencerelerle ilgili bilgileri içerir ancak istenen bir geçersiz kılma yapılandırması içeriyorsa yalnızca pencere yapılandırmasını günlüğe kaydeder.
    • kritik: Hata ayıklama moduyla aynı bilgileri içerir ancak yalnızca görünür pencereleri içerir. Bu mod, en az bellek ve performans yükü oluşturur.

Dökümler

Winscope'u kullanarak durum dökümü almak için ana sayfadaki İzleme Toplama bölümünde Döküm sekmesini seçin ve ardından Durum dökümü'nü tıklayın:

Winscope'ta durumu döküme alma

Şekil 8. Winscope'ta durumu dökün.

Ekran görüntüsü yapılandırması

Winscope, birden fazla ekranın ekran görüntüsünü almanıza olanak tanır. Ekran görüntüsü almak için menüden bir ekran seçin. Hiçbir seçim yapılmazsa etkin ekran için ekran görüntüsü toplanır.