เรียกใช้ Winscope ในเครื่องหรือเข้าถึงจากเว็บเซิร์ฟเวอร์
คุณสามารถบันทึกร่องรอยโดยใช้ Winscope สําหรับการพัฒนาซอฟต์แวร์และการแก้ไขข้อบกพร่องในเครื่อง Winscope ใช้ adb ซึ่งรองรับการเชื่อมต่ออุปกรณ์ผ่าน USB หรือ Wi-Fi
หน้าจอรวบรวมร่องรอยจะแสดงเมื่อเปิด Winscope
การเชื่อมต่อของอุปกรณ์
คุณสามารถเชื่อมต่ออุปกรณ์ใน Winscope ได้โดยใช้พร็อกซี Winscope หรือพร็อกซีอุปกรณ์เว็บ โดยค่าเริ่มต้น หน้าแรกของ Winscope จะแสดง UI การตั้งค่าการเชื่อมต่อ Winscope Proxy
หากต้องการเริ่มบันทึกร่องรอย ให้เลือกกลไกการเชื่อมต่ออุปกรณ์อย่างใดอย่างหนึ่งต่อไปนี้
การตั้งค่าพร็อกซีของ Winscope
ทำตามขั้นตอนต่อไปนี้เพื่อตั้งค่า Winscope Proxy
ในส่วนรวบรวมร่องรอยในหน้าแรก ให้เลือก 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
หากไม่มีเว็บดีมานด์พร็อกซีเดมอนในเครื่อง ให้คลิกติดตั้งหรือเรียกใช้โปรแกรมติดตั้ง
อนุมัติสิทธิ์เข้าถึงพร็อกซีอุปกรณ์บนเว็บของต้นทางผ่านกล่องโต้ตอบ
รูปที่ 4 ให้สิทธิ์ต้นทาง
อนุมัติการเข้าถึงสำหรับอุปกรณ์ใหม่แต่ละเครื่องเมื่อเชื่อมต่อกับอุปกรณ์เป็นครั้งแรก หากกล่องโต้ตอบไม่ปรากฏขึ้นโดยอัตโนมัติ ให้คลิกไอคอน
lock_open
ข้างอุปกรณ์รูปที่ 5 ให้สิทธิ์อุปกรณ์
การติดตาม
ทำตามขั้นตอนต่อไปนี้เพื่อรวบรวมร่องรอย
เมื่อเชื่อมต่อแล้ว หากต้องการเริ่มกระบวนการจับภาพ ให้เลือกเป้าหมายและกำหนดการตั้งค่า จากนั้นคลิกเริ่มการติดตามเพื่อเริ่มบันทึก
รูปที่ 6 รวบรวมร่องรอยใน Winscope
หากต้องการหยุดการจับภาพ ให้คลิกสิ้นสุดการติดตาม
รูปที่ 7 สิ้นสุดการติดตามใน Winscope
ตัวเลือกการติดตาม
ส่วนนี้จะอธิบายตัวเลือกสําหรับการติดตามแต่ละประเภท
การบันทึกหน้าจอ
Winscope ช่วยให้คุณบันทึกหน้าจอของจอแสดงผลหลายจอได้ เลือกจอแสดงผลจากเมนูเพื่อบันทึกหน้าจอ หากไม่เลือก Winscope จะบันทึกหน้าจอที่ใช้งานอยู่โดยค่าเริ่มต้น
SurfaceFlinger
ขนาดบัฟเฟอร์: ปรับขนาดบัฟเฟอร์แบบวงแหวนในหน่วยความจําสําหรับการติดตาม SurfaceFlinger บัฟเฟอร์ขนาดใหญ่จะช่วยให้รวบรวมข้อมูลได้มากขึ้น แต่จะใช้หน่วยความจํามากขึ้นด้วย
อินพุต: หากแพลตฟอร์มมีข้อมูลอินพุต ระบบจะติดตามข้อมูลเฉพาะของกรอบเวลาอินพุต
องค์ประกอบ: ติดตามประเภทองค์ประกอบและภูมิภาคที่มองเห็นได้
ข้อมูลเมตา: ติดตามข้อมูลเมตาเพิ่มเติมของแพลตฟอร์ม รวมถึงเลเยอร์ที่อยู่นอกหน้าจอ
HWC: ติดตามข้อมูลเมตาคอมโพเซอร์ฮาร์ดแวร์ที่ไม่มีโครงสร้างเพิ่มเติม
บัฟเฟอร์การติดตาม: กําหนดค่า SurfaceFlinger ให้ติดตามการเปลี่ยนแปลงบัฟเฟอร์ทั้งหมดบนแพลตฟอร์ม โดยค่าเริ่มต้น SurfaceFlinger จะติดตามสถานะใหม่เฉพาะเมื่อมีการเปลี่ยนแปลงเรขาคณิตเท่านั้น
จอแสดงผลเสมือนจริง: รวมเลเยอร์จอแสดงผลเสมือนจริงในการติดตาม
WindowManager
- ขนาดบัฟเฟอร์: ปรับขนาดบัฟเฟอร์แบบวงแหวนในหน่วยความจําสําหรับการติดตาม WindowManager บัฟเฟอร์ขนาดใหญ่จะช่วยให้รวบรวมข้อมูลได้มากขึ้น แต่จะใช้หน่วยความจํามากขึ้นด้วย
ประเภทการติดตาม: กําหนดตัวเลือกความถี่ในการรวบรวมสถานะ
- frame: ในโหมดนี้ WindowManager จะแสดงสถานะเดียวต่อเฟรม เพื่อให้มั่นใจว่าระบบจะบันทึกเฉพาะสถานะที่ถูกต้องของ WindowManager โหมดนี้มีโอเวอร์เฮดด้านประสิทธิภาพต่ำที่สุด
- transaction: โหมดนี้จะบันทึกสถานะ WindowManager ทุกครั้งที่มีการทำธุรกรรม คุณสามารถทําธุรกรรมหลายรายการภายในเฟรมได้ ซึ่งช่วยให้แก้ไขข้อบกพร่องสถานะ WindowManager ระดับกลางระหว่างเฟรมได้ อย่างไรก็ตาม โหมดนี้จะมีค่าใช้จ่ายเพิ่มเติมด้านประสิทธิภาพสูงกว่าโหมดเฟรม
ระดับการติดตาม: กำหนดระดับการถอดเสียงของร่องรอย WindowManager ดังนี้
- verbose: รวมข้อมูลการกำหนดค่าและหน้าต่างทั้งหมดสำหรับแต่ละหน้าต่าง โหมดนี้มีโอเวอร์เฮดด้านหน่วยความจําและประสิทธิภาพสูงสุด
- debug: มีข้อมูลเกี่ยวกับหน้าต่างทั้งหมด แต่จะบันทึกเฉพาะการกำหนดค่าหน้าต่างหากมีการกำหนดค่าการลบล้างที่ขอ
- สำคัญ: มีข้อมูลเดียวกับโหมดแก้ไขข้อบกพร่อง แต่จะมีเฉพาะหน้าต่างที่มองเห็นได้ โหมดนี้มีหน่วยความจําและโอเวอร์เฮดด้านประสิทธิภาพน้อยที่สุด
ข้อมูลไฟล์บันทึก
หากต้องการทำ Dump สถานะโดยใช้ Winscope ในส่วนรวบรวมการติดตามในหน้าแรก ให้เลือกแท็บ Dump แล้วคลิก Dump สถานะ
รูปที่ 8 ดัมพ์สถานะใน Winscope
การกําหนดค่าภาพหน้าจอ
Winscope อนุญาตให้ถ่ายภาพหน้าจอสำหรับจอแสดงผลหลายจอ เลือกจอแสดงผลจากเมนูเพื่อถ่ายภาพหน้าจอ หากไม่เลือก ระบบจะรวบรวมภาพหน้าจอของจอแสดงผลที่ใช้งานอยู่