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

شغِّل Winscope محليًا أو يمكنك الوصول إليه من خادم ويب.

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

تظهر شاشة Collect Traces (جمع عمليات التتبّع) عند تشغيل Winscope.

اتصال الجهاز

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

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

إعداد الخادم الوكيل في Winscope

اتّبِع الخطوات التالية لإعداد 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:

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

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

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

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

  3. عليك الموافقة على وصول المصدر إلى "خادم الوكيل لأجهزة الويب" من خلال مربّع الحوار.

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

    الشكل 4: عليك تفويض المصدر.

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

    wdp_unauth_device

    الشكل 5: عليك تفويض الجهاز.

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

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

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

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

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

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

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

    الشكل 7: إنهاء التتبّع في Winscope

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

يصف هذا القسم خيارات كل نوع من أنواع التتبّع.

تسجيل الشاشة

باستخدام Winscope، يمكنك تسجيل شاشة شاشات متعددة. اختَر شاشة من القائمة لتسجيل الشاشة. في حال عدم تحديد أي شاشة، يسجِّل Winscope الشاشة النشطة تلقائيًا.

SurfaceFlinger

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

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

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

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

  • HWC: تتتبّع البيانات الوصفية الإضافية غير المنظَّمة لمُنشئ الأجهزة.

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

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

WindowManager

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

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

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

عمليات تفريغ

لإنشاء ملف تخزين مؤقت للحالة باستخدام Winscope، ضمن جمع عمليات التتبّع على الصفحة الرئيسية، اختَر علامة التبويب تخزين مؤقت، ثم انقر على تخزين حالة:

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

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

ضبط لقطة الشاشة

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