תיעוד עקבות באמצעות Winscope

להפעיל את Winscope באופן מקומי או לגשת אליו משרת אינטרנט.

אתם יכולים לתעד עקבות באמצעות Winscope לפיתוח מקומי ולניפוי באגים. Winscope משתמש ב-adb, שתומך בחיבור המכשיר באמצעות USB או Wi-Fi.

המסך איסוף עקבות מוצג כשמריצים את Winscope.

חיבור המכשיר

אפשר לחבר מכשירים ב-Winscope באמצעות Winscope Proxy או Web Device Proxy. כברירת מחדל, דף הבית של Winscope מציג את ממשק המשתמש של הגדרת החיבור ל-Winscope Proxy.

כדי להתחיל לתעד את הנתונים, בוחרים באחת מהשיטות הבאות לחיבור המכשיר.

הגדרת שרת proxy ב-Winscope

כדי להגדיר שרת proxy של Winscope:

  1. בקטע Collect Traces בדף הבית, בוחרים באפשרות Winscope Proxy בתפריט הנפתח Select connection type:

    תיעוד עקבות באמצעות Winscope Proxy

    איור 1. איסוף עקבות באמצעות Winscope Proxy.

  2. כדי לתעד את הנתונים ישירות מהדפדפן, מריצים את הפקודה הבאה כדי להפעיל את שרת ה-proxy של Winscope ADB Connect:

    python3 $ANDROID_BUILD_TOP/development/tools/winscope/src/adb/winscope_proxy.py
    
  3. שימו לב לאסימון שרת ה-proxy של Winscope שמוצג במסוף אחרי ההפעלה.

  4. אחרי שמפעילים את שרת ה-proxy של Winscope ADB Connect, המסך משתנה באופן הבא. כדי ליצור את החיבור הראשוני לשרת ה-proxy, מזינים את אסימון ה-proxy של Winscope משלב 3 ולוחצים על Connect.

    התחברות לשרת ה-proxy של Winscope

    איור 2. מתחברים לשרת ה-proxy של Winscope.

הגדרת שרת proxy למכשיר אינטרנט

כדי להגדיר שרת proxy למכשיר אינטרנט:

  1. בקטע Collect Traces בדף הבית, בוחרים באפשרות Web Device Proxy בתפריט הנפתח Select connection type:

    תיעוד עקבות באמצעות שרת proxy של מכשיר אינטרנט

    איור 3. איך מתעדים עקבות באמצעות שרת proxy למכשירי אינטרנט.

  2. אם הדימון של שרת ה-proxy למכשירים באינטרנט לא מותקן במחשב, לוחצים על Install או מריצים את מרכז ההתקנות.

  3. מאשרים את הגישה של המקור לשרת ה-proxy של מכשיר האינטרנט דרך תיבת הדו-שיח.

    מתן הרשאת גישה ל-WDP במקור

    איור 4. נותנים הרשאה למקור.

  4. צריך לאשר את הגישה לכל מכשיר חדש בפעם הראשונה שמתחברים אליו. אם תיבת הדו-שיח לא מופיעה באופן אוטומטי, לוחצים על הסמל lock_open לצד המכשיר:

    wdp_unauth_device

    איור 5. מאשרים את המכשיר.

רכיבים מוליכים

כדי לאסוף את העקבות:

  1. כשהמכשיר מחובר, כדי להתחיל את תהליך הצילום, בוחרים את היעדים ומגדירים את ההגדרות. לאחר מכן לוחצים על Start trace (התחלת המעקב) כדי להתחיל את הצילום:

    איסוף עקבות ב-Winscope

    איור 6. איסוף עקבות ב-Winscope.

  2. כדי להפסיק את הצילום, לוחצים על סיום המעקב:

    סיום המעקב ב-Winscope

    איור 7. מסתיימים את המעקב ב-Winscope.

אפשרויות מעקב

בקטע הזה מתוארות האפשרויות לכל סוג של מעקב.

הקלטת מסך

בעזרת Winscope אפשר להקליט את המסך של כמה צגים. בוחרים מסך מהתפריט כדי להקליט את המסך. אם לא תבחרו אפשרות, Winscope יתעדה את המסך הפעיל כברירת מחדל.

SurfaceFlinger

  • Buffer size:שינוי הגודל של מאגר הטבעות בזיכרון למעקב אחר SurfaceFlinger. מאגר נתונים זמניים גדול יותר מאפשר לאסוף יותר נתונים, אבל הוא מגביר את השימוש בזיכרון.

  • קלט: אם הממשק מכיל נתוני קלט, הוא עוקב אחרי הפרטים הספציפיים של חלון הקלט.

  • הרכב: מעקב אחרי סוג ההרכב והאזור הגלוי.

  • מטא-נתונים: מעקב אחר מטא-נתונים נוספים של פלטפורמה, כולל שכבות מחוץ למסך.

  • HWC: מעקב אחר מטא-נתונים נוספים של מלחין חומרה לא מובנה.

  • מעקב אחר מאגרי נתונים: הגדרת SurfaceFlinger למעקב אחרי כל השינויים במאגרים על פני השטח. כברירת מחדל, SurfaceFlinger מתעד מצב חדש רק כשהגיאומטריה משתנה.

  • תצוגות וירטואליות: כוללות שכבות של תצוגות וירטואליות במעקב.

WindowManager

  • Buffer size:שינוי הגודל של מאגר הטבעות בזיכרון למעקב אחר WindowManager. מאגר נתונים זמניים גדול יותר מאפשר לאסוף יותר נתונים, אבל הוא מגביר את השימוש בזיכרון.
  • Tracing type (סוג המעקב): מגדיר את אפשרויות התדירות לאיסוף המצבים:

    • frame: במצב הזה, WindowManager מאפס מצב אחד לכל פריים, כדי לוודא שרק מצבי WindowManager תקינים מתועדים. למצב הזה יש את תקורת הביצועים הנמוכה ביותר.
    • transaction: המצב הזה מתעד את המצב של WindowManager בכל פעם שמתבצעת התחייבות לעסקה. אפשר לבצע כמה טרנזקציות בתוך פריים, כך שאפשר לנפות באגים במצבים ביניים של WindowManager במהלך פריים. עם זאת, למצב הזה יש עלות תפעול גבוהה יותר בהשוואה למצב המסגרת.
  • רמת המעקב: קובעת את רמת הפירוט של מעקב WindowManager:

    • verbose: כולל את כל החלונות ואת פרטי ההגדרה של כל חלון. למצב הזה יש את תקורת הזיכרון והביצועים הגבוהה ביותר.
    • debug: כולל מידע על כל החלונות, אבל מתועד רק הגדרת החלון אם היא מכילה הגדרת שינוי מברירת המחדל המבוקשת.
    • critical: כולל את אותו מידע כמו במצב ניפוי באגים, אבל כולל רק חלונות גלויים. במצב הזה יש את תקורת הזיכרון והביצועים הקטנה ביותר.

Dumps

כדי ליצור תמונת מצב באמצעות Winscope, בקטע Collect Traces בדף הבית בוחרים בכרטיסייה Dump ואז לוחצים על Dump state:

יצירת Dump של המצב ב-Winscope

איור 8. מצב Dump ב-Winscope.

הגדרת צילום מסך

Winscope מאפשרת לצלם צילום מסך של כמה מסכים. בוחרים תצוגה מהתפריט כדי לצלם את המסך. אם לא בוחרים אף מסך, צילום המסך יהיה של המסך הפעיל.