Chạy Winscope cục bộ hoặc truy cập vào ứng dụng này từ máy chủ web.
Bạn có thể ghi lại dấu vết bằng Winscope để phát triển và gỡ lỗi cục bộ. Winscope sử dụng adb để hỗ trợ kết nối thiết bị qua USB hoặc Wi-Fi.
Màn hình Collect Traces (Thu thập dấu vết) sẽ xuất hiện khi khởi chạy Winscope.
Kết nối thiết bị
Bạn có thể kết nối các thiết bị trong Winscope bằng Winscope Proxy hoặc Web Device Proxy. Theo mặc định, trang chủ Winscope sẽ hiển thị giao diện người dùng thiết lập kết nối Winscope Proxy.
Để bắt đầu ghi lại dấu vết, hãy chọn một trong các cơ chế kết nối thiết bị sau.
Thiết lập Winscope Proxy
Làm theo các bước sau để thiết lập Winscope Proxy:
Trong phần Collect Traces (Thu thập dấu vết) trên trang chủ, hãy chọn Winscope Proxy (Proxy Winscope) trong trình đơn thả xuống Select connection type (Chọn loại kết nối):
Hình 1. Ghi lại dấu vết bằng Winscope Proxy.
Chạy proxy Winscope ADB Connect để ghi lại dấu vết trực tiếp từ trình duyệt bằng cách chạy lệnh sau:
python3 $ANDROID_BUILD_TOP/development/tools/winscope/src/adb/winscope_proxy.py
Lưu ý mã thông báo proxy Winscope hiển thị trên thiết bị đầu cuối sau khi thực thi.
Sau khi bạn khởi chạy proxy Winscope ADB Connect, màn hình sẽ thay đổi như sau. Để thiết lập kết nối ban đầu với proxy, hãy nhập mã thông báo proxy Winscope từ bước 3 rồi nhấp vào Connect (Kết nối).
Hình 2. Kết nối với Winscope Proxy.
Thiết lập Web Device Proxy
Hãy làm theo các bước sau để thiết lập Proxy thiết bị web:
Trong phần Collect Traces (Thu thập dấu vết) trên trang chủ, hãy chọn Web Device Proxy (Proxy thiết bị web) trong trình đơn thả xuống Select connection type (Chọn loại kết nối):
Hình 3. Ghi lại dấu vết bằng Web Device Proxy.
Nếu bạn không có trình nền Proxy thiết bị web trên máy, hãy nhấp vào Install (Cài đặt) hoặc chạy trình cài đặt.
Phê duyệt quyền truy cập nguồn gốc vào Proxy thiết bị web thông qua hộp thoại.
Hình 4. Uỷ quyền nguồn gốc.
Phê duyệt quyền truy cập cho từng thiết bị mới trong lần đầu tiên bạn kết nối với thiết bị đó. Nếu hộp thoại không tự động xuất hiện, hãy nhấp vào biểu tượng
lock_open
bên cạnh thiết bị:Hình 5. Uỷ quyền thiết bị.
Dấu vết
Hãy làm theo các bước sau để thu thập dấu vết:
Khi đã kết nối, để bắt đầu quá trình chụp, hãy chọn các mục tiêu và định cấu hình chế độ cài đặt. Sau đó, hãy nhấp vào Start trace (Bắt đầu theo dõi) để bắt đầu ghi:
Hình 6. Thu thập dấu vết trong Winscope.
Để dừng quá trình ghi, hãy nhấp vào End trace (Kết thúc theo dõi):
Hình 7. Kết thúc dấu vết trong Winscope.
Tuỳ chọn theo dõi
Phần này mô tả các tuỳ chọn cho từng loại dấu vết.
Ghi màn hình
Với Winscope, bạn có thể quay màn hình của nhiều màn hình. Chọn một màn hình trong trình đơn để ghi màn hình. Nếu bạn không chọn, theo mặc định, Winscope sẽ ghi lại màn hình đang hoạt động.
SurfaceFlinger
Kích thước vùng đệm: Điều chỉnh kích thước vùng đệm vòng trong bộ nhớ cho dấu vết SurfaceFlinger. Vùng đệm lớn hơn cho phép thu thập nhiều dữ liệu hơn nhưng làm tăng mức sử dụng bộ nhớ.
Dữ liệu đầu vào: Nếu giao diện chứa dữ liệu đầu vào, hãy theo dõi thông tin cụ thể của cửa sổ đầu vào.
Cấu trúc: Theo dõi loại cấu trúc và vùng hiển thị.
Siêu dữ liệu: Theo dõi siêu dữ liệu bổ sung của nền tảng, bao gồm cả các lớp ngoài màn hình.
HWC: Theo dõi siêu dữ liệu bổ sung của trình tổng hợp phần cứng không có cấu trúc.
Vùng đệm theo dõi: Định cấu hình SurfaceFlinger để theo dõi tất cả các thay đổi về vùng đệm trên bề mặt. Theo mặc định, SurfaceFlinger chỉ theo dõi trạng thái mới khi hình học bị thay đổi.
Màn hình ảo: Bao gồm các lớp màn hình ảo trong dấu vết.
WindowManager
- Dung lượng bộ nhớ đệm: Điều chỉnh kích thước của vùng đệm vòng trong bộ nhớ cho dấu vết WindowManager. Vùng đệm lớn hơn cho phép thu thập nhiều dữ liệu hơn nhưng làm tăng mức sử dụng bộ nhớ.
Loại theo dõi: Xác định các tuỳ chọn tần suất để thu thập trạng thái:
- khung: Ở chế độ này, WindowManager sẽ kết xuất một trạng thái duy nhất cho mỗi khung, đảm bảo rằng chỉ các trạng thái WindowManager hợp lệ mới được ghi lại. Chế độ này có mức hao tổn hiệu suất thấp nhất.
- giao dịch: Chế độ này ghi lại trạng thái WindowManager mỗi khi một giao dịch được thực hiện. Bạn có thể thực hiện nhiều giao dịch trong một khung, nhờ đó có thể gỡ lỗi các trạng thái WindowManager trung gian trong một khung. Tuy nhiên, chế độ này có mức hao tổn hiệu suất cao hơn so với chế độ khung.
Cấp độ theo dõi: Xác định mức độ chi tiết của dấu vết WindowManager:
- verbose: Bao gồm tất cả cửa sổ và thông tin cấu hình cho từng cửa sổ. Chế độ này có mức hao tổn bộ nhớ và hiệu suất cao nhất.
- gỡ lỗi: Bao gồm thông tin về tất cả cửa sổ, nhưng chỉ ghi lại cấu hình cửa sổ nếu cấu hình đó chứa cấu hình ghi đè được yêu cầu.
- critical (quan trọng): Cung cấp thông tin giống như Chế độ gỡ lỗi, nhưng chỉ bao gồm các cửa sổ hiển thị. Chế độ này có mức hao tổn bộ nhớ và hiệu suất nhỏ nhất.
Tệp kết xuất
Để tạo tệp báo lỗi bằng Winscope, trong phần Collect Traces (Thu thập dấu vết) trên trang chủ, hãy chọn thẻ Dump (Tệp báo lỗi) rồi nhấp vào Dump state (Tạo tệp báo lỗi):
Hình 8. Trạng thái kết xuất trong Winscope.
Cấu hình ảnh chụp màn hình
Winscope cho phép chụp ảnh màn hình cho nhiều màn hình. Chọn một màn hình trong trình đơn để chụp ảnh màn hình. Nếu bạn không chọn màn hình nào, hệ thống sẽ thu thập ảnh chụp màn hình cho màn hình đang hoạt động.