ردیابی با وینسکوپ

Winscope را به صورت محلی اجرا کنید یا از یک وب سرور به آن دسترسی داشته باشید.

می‌توانید با استفاده از Winscope برای توسعه محلی و اشکال‌زدایی، ردیابی‌ها را ثبت کنید. Winscope از adb استفاده می کند که از اتصال دستگاه از طریق USB یا Wi-Fi پشتیبانی می کند.

صفحه جمع آوری ردیابی هنگام راه اندازی Winscope نمایش داده می شود.

اتصال دستگاه

می‌توانید دستگاه‌ها را در Winscope با استفاده از Winscope Proxy یا Web Device Proxy متصل کنید. به‌طور پیش‌فرض، صفحه اصلی Winscope رابط تنظیمات اتصال Winscope Proxy را نشان می‌دهد.

برای شروع ثبت ردیابی، یکی از مکانیسم های اتصال دستگاه زیر را انتخاب کنید.

راه اندازی پروکسی Winscope

برای راه اندازی Winscope Proxy مراحل زیر را دنبال کنید:

  1. در قسمت Collect Traces در صفحه اصلی، Winscope Proxy را در منوی انتخاب نوع اتصال انتخاب کنید:

    Capture traces using 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 وارد کرده و روی Connect کلیک کنید.

    Connect to Winscope Proxy

    شکل 2. به Winscope Proxy متصل شوید.

راه اندازی پروکسی دستگاه وب

این مراحل را برای راه اندازی Web Device Proxy دنبال کنید:

  1. در قسمت Collect Traces در صفحه اصلی، Web Device Proxy را در منوی انتخاب نوع اتصال انتخاب کنید:

    Capture traces using Web Device Proxy

    شکل 3. با استفاده از Web Device Proxy از ردیابی ها عکس بگیرید.

  2. اگر دیمون Web Device Proxy را در دستگاه خود ندارید، روی Install کلیک کنید یا نصب کننده را اجرا کنید.

  3. دسترسی مبدأ به پروکسی دستگاه وب را از طریق گفتگو تأیید کنید.

    Authorize origin WDP access

    شکل 4. مجوز مبدا.

  4. برای اولین بار که به دستگاه متصل می شوید، دسترسی هر دستگاه جدید را تأیید کنید. اگر گفتگو به طور خودکار ظاهر نشد، روی نماد lock_open در کنار دستگاه کلیک کنید:

    wdp_unauth_device

    شکل 5. مجوز دستگاه.

آثار

برای جمع آوری ردیابی مراحل زیر را دنبال کنید:

  1. هنگام اتصال، برای شروع فرآیند ضبط، اهداف را انتخاب کرده و تنظیمات را پیکربندی کنید. سپس روی Start trace کلیک کنید تا ضبط شروع شود:

    Collect traces in Winscope

    شکل 6. ردیابی را در Winscope جمع آوری کنید.

  2. برای توقف ضبط، روی پایان ردیابی کلیک کنید:

    End trace in Winscope

    شکل 7. پایان ردیابی در وینسکوپ.

گزینه های ردیابی

این بخش گزینه های هر نوع ردیابی را توضیح می دهد.

ضبط صفحه نمایش

با Winscope می توانید صفحه نمایش چندین نمایشگر را ضبط کنید. برای ضبط صفحه نمایشی را از منو انتخاب کنید. اگر انتخابی انجام ندهید، Winscope نمایش فعال را به طور پیش فرض ضبط می کند.

سرفیس فلینگر

  • اندازه بافر: اندازه بافر حلقه درون حافظه را برای ردیابی SurfaceFlinger تنظیم می کند. یک بافر بزرگتر امکان جمع آوری داده های بیشتری را فراهم می کند اما استفاده از حافظه را افزایش می دهد.

  • ورودی: اگر سطح دارای داده های ورودی باشد، مشخصات پنجره ورودی را ردیابی می کند.

  • ترکیب: نوع ترکیب و ناحیه قابل مشاهده را ردیابی می کند.

  • فراداده: فراداده های سطحی اضافی، از جمله لایه های خارج از صفحه را ردیابی می کند.

  • HWC: فراداده های اضافی سازنده سخت افزار بدون ساختار را ردیابی می کند.

  • بافرهای ردیابی: SurfaceFlinger را برای ردیابی تمام تغییرات بافر روی سطح پیکربندی می کند. به‌طور پیش‌فرض، SurfaceFlinger یک حالت جدید را تنها زمانی دنبال می‌کند که هندسه تغییر کند.

  • نمایش‌های مجازی: شامل لایه‌های نمایش مجازی در ردیابی است.

WindowManager

  • اندازه بافر: اندازه بافر حلقه درون حافظه را برای ردیابی WindowManager تنظیم می کند. یک بافر بزرگتر امکان جمع آوری داده های بیشتری را فراهم می کند اما استفاده از حافظه را افزایش می دهد.
  • نوع ردیابی: گزینه های فرکانس را برای جمع آوری حالات تعریف می کند:

    • فریم: در این حالت، WindowManager یک حالت را در هر فریم تخلیه می‌کند و اطمینان حاصل می‌کند که فقط حالت‌های WindowManager معتبر ضبط می‌شوند. این حالت کمترین سربار عملکرد را دارد.
    • تراکنش: این حالت هر زمان که تراکنش انجام شود، وضعیت WindowManager را ثبت می کند. شما می توانید چندین تراکنش را در یک فریم انجام دهید، بنابراین این امکان را برای اشکال زدایی حالت های WindowManager میانی در طول یک فریم فراهم می کند. با این حال، این حالت در مقایسه با حالت فریم، سربار عملکرد بالاتری دارد.
  • سطح ردیابی: پرحرفی ردیابی های WindowManager را تعیین می کند:

    • verbose: شامل تمام پنجره ها و اطلاعات پیکربندی برای هر پنجره است. این حالت بالاترین سربار حافظه و عملکرد را دارد.
    • اشکال زدایی: شامل اطلاعات مربوط به همه ویندوزها می شود، اما فقط پیکربندی پنجره را در صورتی ثبت می کند که دارای تنظیمات لغو درخواستی باشد.
    • بحرانی: شامل اطلاعات مشابه حالت Debug است، اما فقط شامل پنجره های قابل مشاهده است. این حالت دارای کمترین سربار حافظه و عملکرد است.

تخلیه می کند

برای گرفتن حالت dump با استفاده از Winscope، در قسمت Collect Traces در صفحه اصلی، زبانه Dump را انتخاب کنید و سپس روی Dump state کلیک کنید:

Dump state in Winscope

شکل 8. حالت تخلیه در Winscope.

پیکربندی اسکرین شات

Winscope امکان گرفتن اسکرین شات برای چندین نمایشگر را فراهم می کند. یک نمایشگر را از منو برای گرفتن اسکرین شات انتخاب کنید. اگر انتخابی انجام نشود، یک اسکرین شات برای نمایش فعال جمع آوری می شود.