เรียกใช้ Winscope ในเครื่องหรือเข้าถึงจากเว็บเซิร์ฟเวอร์
คุณสามารถบันทึกการติดตามโดยใช้ Winscope เพื่อการพัฒนาและการแก้ไขข้อบกพร่องในเครื่องได้ Winscope ใช้ adb ซึ่งรองรับการเชื่อมต่ออุปกรณ์ผ่าน USB หรือ Wi-Fi
เมื่อเปิด Winscope หน้าจอรวบรวมการติดตามจะปรากฏขึ้น
การเชื่อมต่อของอุปกรณ์
คุณเชื่อมต่ออุปกรณ์ใน Winscope ได้โดยใช้ พร็อกซี Winscope หรือ พร็อกซีอุปกรณ์เว็บ โดยค่าเริ่มต้น หน้าแรกของ Winscope จะแสดง UI การตั้งค่าการเชื่อมต่อ Winscope Proxy
หากต้องการเริ่มบันทึกร่องรอย ให้เลือกกลไกการเชื่อมต่ออุปกรณ์อย่างใดอย่างหนึ่งต่อไปนี้
การตั้งค่าพร็อกซี Winscope
ทำตามขั้นตอนต่อไปนี้เพื่อตั้งค่าพร็อกซี Winscope
ในส่วนรวบรวมการติดตามของหน้าแรก ให้เลือก Winscope Proxy จากเมนูเลือกประเภทการเชื่อมต่อ
รูปที่ 1 บันทึกการติดตามโดยใช้ Winscope Proxy
เปิดใช้พร็อกซี Winscope ADB Connect เพื่อบันทึกการติดตามจากเบราว์เซอร์โดยตรงโดยเรียกใช้คำสั่งต่อไปนี้
python3 $ANDROID_BUILD_TOP/development/tools/winscope/src/adb/winscope_proxy.pyโปรดจดโทเค็นพร็อกซี Winscope ที่แสดงในเทอร์มินัลหลังการดำเนินการ
หลังจากเปิดใช้พร็อกซี Winscope ADB Connect แล้ว หน้าจอจะเปลี่ยนไปดังนี้ หากต้องการสร้างการเชื่อมต่อเริ่มต้นกับพร็อกซี ให้ป้อนโทเค็นพร็อกซี Winscope จากขั้นตอนที่ 3 แล้วคลิกเชื่อมต่อ
รูปที่ 2 เชื่อมต่อกับ Winscope Proxy
การตั้งค่าพร็อกซีอุปกรณ์เว็บ
ทำตามขั้นตอนต่อไปนี้เพื่อตั้งค่าพร็อกซีอุปกรณ์เว็บ
ในส่วนรวบรวมการติดตามของหน้าแรก ให้เลือกพร็อกซีอุปกรณ์เว็บ จากเมนูเลือกประเภทการเชื่อมต่อ
รูปที่ 3 บันทึกการติดตามโดยใช้ Web Device Proxy
หากไม่มี daemon ของพร็อกซีอุปกรณ์เว็บในเครื่อง ให้คลิกติดตั้งหรือเรียกใช้โปรแกรมติดตั้ง
อนุมัติการเข้าถึงต้นทางไปยังพร็อกซีอุปกรณ์เว็บผ่านกล่องโต้ตอบ
รูปที่ 4 ให้สิทธิ์ต้นทาง
อนุมัติการเข้าถึงสำหรับอุปกรณ์ใหม่แต่ละเครื่องในครั้งแรกที่คุณเชื่อมต่อกับอุปกรณ์ หากกล่องโต้ตอบไม่ปรากฏขึ้นโดยอัตโนมัติ ให้คลิกไอคอน
lock_openข้างอุปกรณ์
รูปที่ 5 ให้สิทธิ์อุปกรณ์
การติดตาม
ทำตามขั้นตอนต่อไปนี้เพื่อรวบรวมการติดตาม
เมื่อเชื่อมต่อแล้ว ให้เลือกเป้าหมายและกำหนดค่าเพื่อเริ่มกระบวนการจับภาพ จากนั้นคลิกเริ่มการติดตามเพื่อเริ่มการบันทึก
รูปที่ 6 รวบรวมการติดตามใน Winscope
หากต้องการหยุดการจับภาพ ให้คลิกสิ้นสุดการติดตาม
รูปที่ 7 สิ้นสุดการติดตามใน Winscope
ตัวเลือกการติดตาม
ส่วนนี้อธิบายตัวเลือกสำหรับร่องรอยแต่ละประเภท
การบันทึกหน้าจอ
Winscope ช่วยให้คุณบันทึกหน้าจอของจอแสดงผลหลายจอได้ เลือกจอแสดงผลจากเมนูเพื่อบันทึกหน้าจอ หากไม่เลือก Winscope จะบันทึกจอแสดงผลที่ใช้งานอยู่โดยค่าเริ่มต้น
SurfaceFlinger
ขนาดบัฟเฟอร์: ปรับขนาดของบัฟเฟอร์แบบวงในหน่วยความจำสำหรับการติดตาม SurfaceFlinger บัฟเฟอร์ที่ใหญ่ขึ้นจะช่วยให้เก็บรวบรวมข้อมูลได้มากขึ้น แต่จะใช้หน่วยความจำมากขึ้นด้วย
อินพุต: หากพื้นผิวมีข้อมูลอินพุต ให้ติดตามรายละเอียดของ หน้าต่างอินพุต
การจัดองค์ประกอบ: ติดตามประเภทการจัดองค์ประกอบและภูมิภาคที่มองเห็น
ข้อมูลเมตา: ติดตามข้อมูลเมตาของพื้นผิวเพิ่มเติม รวมถึงเลเยอร์นอกหน้าจอ
HWC: ติดตามข้อมูลเมตาของคอมโพสเซอร์ฮาร์ดแวร์ที่ไม่มีโครงสร้างเพิ่มเติม
บัฟเฟอร์การติดตาม: กำหนดค่า SurfaceFlinger เพื่อติดตามการเปลี่ยนแปลงบัฟเฟอร์ทั้งหมดใน พื้นผิว โดยค่าเริ่มต้น SurfaceFlinger จะติดตามสถานะใหม่เมื่อมีการเปลี่ยนแปลงรูปทรงเท่านั้น
จอแสดงผลเสมือน: รวมถึงเลเยอร์จอแสดงผลเสมือนในการติดตาม
WindowManager
- ขนาดบัฟเฟอร์: ปรับขนาดบัฟเฟอร์แบบวงแหวนในหน่วยความจำสำหรับ การติดตาม WindowManager บัฟเฟอร์ที่ใหญ่ขึ้นจะช่วยให้รวบรวมข้อมูลได้มากขึ้น แต่จะใช้หน่วยความจำมากขึ้นด้วย
ประเภทการติดตาม: กำหนดตัวเลือกความถี่สำหรับการรวบรวมสถานะ
- เฟรม: ในโหมดนี้ WindowManager จะทิ้งสถานะเดียวต่อเฟรม เพื่อให้มั่นใจว่าระบบจะบันทึกเฉพาะสถานะ WindowManager ที่ถูกต้อง โหมดนี้มีโอเวอร์เฮดประสิทธิภาพต่ำที่สุด
- transaction: โหมดนี้จะบันทึกสถานะ WindowManager ทุกครั้งที่มีการคอมมิตธุรกรรม คุณสามารถคอมมิตธุรกรรมหลายรายการภายในเฟรมได้ ซึ่งช่วยให้คุณแก้ไขข้อบกพร่องของสถานะ WindowManager ระหว่างกลางในเฟรมได้ อย่างไรก็ตาม โหมดนี้มีค่าใช้จ่ายด้านประสิทธิภาพสูงกว่าโหมดเฟรม
ระดับการติดตาม: กำหนดความละเอียดของการติดตาม WindowManager
- verbose: มีข้อมูลหน้าต่างและการกำหนดค่าทั้งหมดสำหรับแต่ละ หน้าต่าง โหมดนี้มีโอเวอร์เฮดด้านหน่วยความจำและประสิทธิภาพสูงสุด
- debug: มีข้อมูลเกี่ยวกับหน้าต่างทั้งหมด แต่จะบันทึกเฉพาะการกำหนดค่าหน้าต่างหากมีการกำหนดค่าการลบล้างที่ขอ
- สำคัญ: มีข้อมูลเดียวกันกับโหมดแก้ไขข้อบกพร่อง แต่มีเฉพาะหน้าต่างที่มองเห็นได้ โหมดนี้มีโอเวอร์เฮดด้านหน่วยความจำและประสิทธิภาพน้อยที่สุด
การดัมพ์
หากต้องการดัมพ์สถานะโดยใช้ Winscope ให้ไปที่ส่วนรวบรวมการติดตามในหน้าแรก เลือกแท็บดัมพ์ แล้วคลิกดัมพ์สถานะ
รูปที่ 8 ดัมพ์สถานะใน Winscope
การกำหนดค่าภาพหน้าจอ
Winscope อนุญาตให้ถ่ายภาพหน้าจอสำหรับหลายจอแสดงผล เลือกจอแสดงผล จากเมนูเพื่อถ่ายภาพหน้าจอ หากไม่ได้เลือก ระบบจะรวบรวมภาพหน้าจอ สำหรับจอแสดงผลที่ใช้งานอยู่