تسجيل عمليات التتبّع باستخدام Winscope

تشغيل Winscope محليًا أو الوصول إليه من خادم ويب

يمكنك تسجيل عمليات التتبُّع باستخدام Winscope لتطوير التطبيقات وتصحيح الأخطاء محليًا. يستخدم Winscope adb، الذي يتيح توصيل الجهاز عبر USB أو Wi-Fi.

عند تشغيل Winscope، تظهر شاشة جمع عمليات التتبُّع.

الاتصال بالجهاز

يمكنك ربط الأجهزة في Winscope باستخدام Winscope Proxy أو Web Device Proxy. تعرض صفحة Winscope الرئيسية تلقائيًا واجهة مستخدم Winscope Proxy لإعداد عملية الربط.

لبدء تسجيل عمليات التتبُّع، اختَر إحدى آليات ربط الأجهزة التالية.

إعداد Winscope Proxy

اتّبِع الخطوات التالية لإعداد Winscope Proxy:

  1. في قسم جمع عمليات التتبُّع على الصفحة الرئيسية، اختَر Winscope Proxy من القائمة اختيار نوع الاتصال:

    تسجيل عمليات التتبُّع باستخدام Winscope Proxy

    الشكل 1. تسجيل عمليات التتبُّع باستخدام Winscope Proxy

  2. شغِّل وكيل Winscope ADB Connect لالتقاط عمليات التتبُّع مباشرةً من المتصفّح عن طريق تنفيذ الأمر التالي:

    python3 $ANDROID_BUILD_TOP/development/tools/winscope/src/adb/winscope_proxy.py
    
  3. لاحظ رمز Winscope الوكيل المعروض على الجهاز بعد التنفيذ.

  4. بعد تشغيل وكيل Winscope ADB Connect، تتغيّر الشاشة على النحو التالي. لإنشاء الاتصال الأوّلي بالخادم الوكيل، أدخِل الرمز المميّز للخادم الوكيل في Winscope من الخطوة 3 وانقر على ربط.

    الاتصال بخادم Winscope الوكيل

    الشكل 2. الاتصال بخادم Winscope الوكيل

إعداد Web Device Proxy

اتّبِع الخطوات التالية لإعداد Web Device Proxy:

  1. في قسم جمع عمليات التتبُّع على الصفحة الرئيسية، اختَر خادم وكيل لجهاز ويب من القائمة اختيار نوع الاتصال:

    تسجيل عمليات التتبُّع باستخدام Web Device Proxy

    الشكل 3. تسجيل عمليات التتبُّع باستخدام Web Device Proxy

  2. إذا لم يكن برنامج Web Device Proxy daemon مثبَّتًا على جهازك، انقر على تثبيت أو شغِّل برنامج التثبيت.

  3. الموافقة على وصول المصدر إلى Web Device Proxy من خلال مربّع الحوار

    تفويض الوصول إلى WDP من المصدر

    الشكل 4. منح الإذن للمصدر

  4. الموافقة على الوصول إلى كل جهاز جديد عند ربطه لأول مرة إذا لم يظهر مربّع الحوار تلقائيًا، انقر على الرمز lock_open بجانب الجهاز:

    wdp_unauth_device

    الشكل 5. منح الإذن للجهاز

عمليات التتبُّع

اتّبِع الخطوات التالية لجمع عمليات التتبُّع:

  1. بعد الربط، لبدء عملية الالتقاط، اختَر الأهداف واضبط الإعدادات. بعد ذلك، انقر على بدء التتبُّع لبدء عملية التسجيل:

    جمع عمليات التتبُّع في Winscope

    الشكل 6. اجمع عمليات التتبُّع في Winscope.

  2. لإيقاف عملية الالتقاط، انقر على إنهاء التتبُّع:

    إنهاء عملية التتبُّع في Winscope

    الشكل 7. إنهاء عملية التتبُّع في Winscope

خيارات التتبُّع

يوضّح هذا القسم خيارات كل نوع من أنواع التتبُّع.

تسجيل الشاشة

باستخدام Winscope، يمكنك تسجيل شاشة عروض متعددة. اختَر شاشة من القائمة لتسجيلها. إذا لم تحدّد أي خيار، يسجّل Winscope الشاشة النشطة تلقائيًا.

‫SurfaceFlinger

  • حجم ذاكرة التخزين المؤقت: يضبط حجم ذاكرة التخزين المؤقت الحلقية في الذاكرة لتتبُّع SurfaceFlinger. يتيح المخزن المؤقت الأكبر حجمًا جمع المزيد من البيانات، ولكنّه يزيد من استخدام الذاكرة.

  • الإدخال: إذا كان السطح يحتوي على بيانات إدخال، يتتبّع تفاصيل نافذة الإدخال.

  • التكوين: يتتبّع نوع التكوين والمنطقة المرئية.

  • البيانات الوصفية: تتتبّع هذه السمة البيانات الوصفية الإضافية الخاصة بالسطح، بما في ذلك الطبقات خارج الشاشة.

  • HWC: يتتبّع هذا الحقل بيانات وصفية إضافية غير منظَّمة خاصة بمؤلف الأجهزة.

  • مخازن مؤقتة للتتبُّع: تضبط هذه السمة SurfaceFlinger لتتبُّع جميع تغييرات المخزن المؤقت على السطح. تتتبّع SurfaceFlinger تلقائيًا حالة جديدة فقط عند تغيير الشكل الهندسي.

  • الشاشات الافتراضية: تتضمّن طبقات الشاشة الافتراضية في التتبُّع.

WindowManager

  • حجم المخزن المؤقت: يضبط حجم المخزن المؤقت الحلقي في الذاكرة لتتبُّع WindowManager. يسمح المخزن المؤقت الأكبر بجمع المزيد من البيانات، ولكنّه يزيد من استخدام الذاكرة.
  • نوع التتبُّع: يحدّد خيارات معدّل التكرار لجمع الحالات:

    • الإطار: في هذا الوضع، يعرض WindowManager حالة واحدة لكل إطار، ما يضمن تسجيل حالات WindowManager الصالحة فقط. يتميّز هذا الوضع بأقل أعباء على الأداء.
    • المعاملة: يسجّل هذا الوضع حالة WindowManager كلما تم تنفيذ معاملة. يمكنك تنفيذ معاملات متعددة ضمن إطار واحد، ما يتيح تصحيح أخطاء حالات WindowManager الوسيطة أثناء الإطار. ومع ذلك، يتطلّب هذا الوضع موارد إضافية للأداء مقارنةً بوضع الإطار.
  • مستوى التتبُّع: يحدّد مستوى تفصيل عمليات تتبُّع WindowManager:

    • verbose: يتضمّن جميع النوافذ ومعلومات الإعداد لكل نافذة. يحتوي هذا الوضع على أكبر قدر من أعباء الذاكرة والأداء.
    • debug: تتضمّن معلومات حول جميع النوافذ، ولكنها تسجّل إعدادات النافذة فقط إذا كانت تتضمّن إعدادات إلغاء مطلوبة.
    • critical: يتضمّن هذا الوضع المعلومات نفسها المتوفّرة في "وضع تصحيح الأخطاء"، ولكنّه يتضمّن النوافذ المرئية فقط. يحتوي هذا الوضع على أقل قدر من الذاكرة وأعباء الأداء.

عمليات التفريغ

لأخذ تفريغ حالة باستخدام Winscope، ضمن جمع عمليات التتبُّع في الصفحة الرئيسية، انقر على علامة التبويب تفريغ، ثم انقر على تفريغ الحالة:

نسخ الحالة في Winscope

الشكل 8. نسخ الحالة في Winscope

إعدادات لقطة الشاشة

يتيح Winscope أخذ لقطة شاشة لشاشات عرض متعددة. اختَر شاشة من القائمة لأخذ لقطة منها. في حال عدم إجراء أي اختيار، سيتم جمع لقطة شاشة للعرض النشط.