דף זה מתאר את כלי ניפוי הבאגים בשירות המצלמה לצפייה בשינויים בערכי בקשת הלכידה והתוצאה הנשלחים אל וממנו המצלמה HAL. שירות המצלמות כולל את watch
ואת פקודות dumpsys
. זמין במכשירים עם אנדרואיד 13 ומעלה, פקודת watch
מאפשרת שליטה על מתי מנוטרים וגישה לתגים, תצוגה מקדימה חיה של dump ניטור תגים מלקוחות פתוחים, וצפייה ב-dumps בקובץ שמור מלקוחות סגורים. הפקודה dumpsys
מאפשרת גישה למידע על ניפוי באגים אך אינה מספקת dumps לניטור תגים מלקוחות סגורים.
פקודה לצפות
סעיף זה מתאר כיצד להשתמש בפקודת watch
ומספק דוגמאות.
התחל לנטר תגים
כדי להתחיל לנטר תגים, השתמש ב:
adb shell cmd media.camera watch start -m <tags> [-c <clients>]
דוגמא:
adb shell cmd media.camera watch start \
-m android.control.effectMode,android.control.aeMode \
-c com.google.android.GoogleCamera,com.android.chrome
טיעונים:
-
tags
: רשימה מופרדת בפסיקים של תגים שיש לנטר. מקבל גם את הקיצור3a
, כאשר3a
מתייחס לסט של כל התגיםandroid.control.*
הקשורים ל-AF, AE ו-AWB (לרשימה המלאה של התגים, ראהTagMonitor.cpp
). -
clients
: טיעון אופציונלי. רשימה מופרדת בפסיקים של שמות חבילות לקוח שעבורן מנוטרים תגים. צופה בכל הלקוחות אם לא הועבר טיעון לקוח, או אםall
קיים ברשימת הלקוחות.
פקודה זו מתחילה ניטור תגים בלקוחות פתוחים ובכל לקוח שנפתח לאחר מכן (עד הקריאה stop
). לאחר start
, שירות המצלמה מאחסן במטמון זרימות של ניטור תגים מלקוחות כאשר הלקוחות נסגרים.
אלא אם כן נקרא start
, שירות המצלמה אינו עוקב אחר תגיות עבור כל לקוח, ואינו שומר מטמון של ניטור תגים. אם all
מועבר בפרמטר clients
, שירות המצלמה עוקב אחר תגיות ומטמון ניטור dumps מכל הלקוחות.
מידע ניטור תג dump
כדי לזרוק מידע על ניטור תגים, השתמש ב:
adb shell cmd media.camera watch dump
פקודה זו משליכה את מידע ניטור התג לפלט סטנדרטי ואז יוצאת. הוא מדפיס את ה-dumps של ניטור התגים בקובץ השמור מלקוחות שנסגרו מאז start
(או clear
האחרון) ואת ה-dump האחרון לניטור התגים מלקוחות פתוחים.
פלט לדוגמה:
$ adb shell cmd media.camera watch dump
Client: com.android.chrome (active)
1:com.android.chrome f0:532642803202286ns: REQ:android.control.aeMode: [ON] output stream ids: 0
1:com.android.chrome f0:532642803202286ns: REQ:android.control.afMode: [CONTINUOUS_PICTURE] output stream ids: 0
..
Client: com.google.android.GoogleCamera (cached)
0:com.google.android.GoogleCamera f0:532601698728552ns: REQ:android.control.aeMode: [ON] output stream ids: 0 3 1 2
0:com.google.android.GoogleCamera f0:532601698728552ns: REQ:android.control.afMode: [CONTINUOUS_PICTURE] output stream ids: 2 1 3 0
0:com.google.android.GoogleCamera f0:532601698728552ns: REQ:android.control.awbMode: [AUTO] output stream ids: 0 3 1 2
...
תצוגה מקדימה של מידע ניטור תגים בזמן אמת
לתצוגה מקדימה של מידע ניטור תגים בזמן אמת, השתמש ב:
adb shell cmd media.camera watch live [-n refresh_interval_ms]
דוגמא:
adb shell cmd media.camera watch live -n 250
טיעונים:
-
refresh_interval_ms
: ארגומנט אופציונלי. מרווח באלפיות שניות לרענון המידע. ברירת המחדל היא 1000 אם לא מועבר ערך.
פקודה זו מדפיסה מידע ניטור תגים בזמן אמת. כדי לצאת, הקש Return / Enter .
פלט לדוגמה:
$ adb shell cmd media.camera watch live
Press return to exit...
0:com.google.android.GoogleCamera f0:533016991302201ns: REQ:android.control.aeMode: [ON] output stream ids: 1 3 0 2
0:com.google.android.GoogleCamera f0:533016991302201ns: REQ:android.control.afMode: [CONTINUOUS_PICTURE] output stream ids: 2 0 3 1
...
0:com.google.android.GoogleCamera f0:533017066793915ns: RES:android.control.aeState: [SEARCHING]
0:com.google.android.GoogleCamera f0:533017066793915ns: 3 RES:android.control.aeState: [SEARCHING]
0:com.google.android.GoogleCamera f0:533017066793915ns: 2 RES:android.control.aeState: [SEARCHING]
0:com.google.android.GoogleCamera f0:533017066793915ns: RES:android.control.afState: [PASSIVE_SCAN]
נקה מטמון מטמון
כדי לנקות את כל מטמון הניטור של תגים, השתמש ב:
adb shell cmd media.camera watch clear
פקודה זו לא מפסיקה את ניטור התגים.
הפסק לנטר תגים
כדי להפסיק לעקוב אחר תגיות בכל הלקוחות ולנקות את כל המאגרים המוחזקים עבור מטמון של ניטור תגים, השתמש ב:
adb shell cmd media.camera watch stop
פקודת dumpsys
הפקודה dumpsys
מספקת שורה של מידע איתור באגים משירות המצלמה. הפקודה הבאה לוכדת את כל dump איתור הבאגים משירות המצלמה:
adb shell dumpsys media.camera
הפקודה dumpsys
מאפשרת גם ללכוד dumps ניטור תגים מלקוחות פתוחים. עם זאת, dumpsys
לא מספקת השלכות ניטור תגים מלקוחות סגורים. להלן דוגמאות לשימוש dumpsys
לניטור תגים:
ללכוד מזימות ניטור תגים מכל הלקוחות הפתוחים:
adb shell dumpsys media.camera -m 3a | grep -A50 Monitored
קבל תצוגה מקדימה חיה של מידע ניטור תגים באמצעות פקודת
watch
של Linux:watch -n 1 -c 'adb shell dumpsys media.camera -m 3a | grep -A50 Monitored'