ติดตามการเปลี่ยนผ่านหน้าต่างโดยใช้ Winscope

Winscope เป็นเครื่องมือบนเว็บที่ช่วยให้ผู้ใช้บันทึก เล่นซ้ำ และวิเคราะห์สถานะของบริการระบบต่างๆ ทั้งระหว่างและหลังภาพเคลื่อนไหวและการเปลี่ยนฉาก Winscope จะบันทึกสถานะบริการของระบบที่เกี่ยวข้องทั้งหมดลงในไฟล์การติดตาม เมื่อใช้ UI ของ Winscope กับไฟล์การติดตาม คุณสามารถตรวจสอบสถานะของบริการเหล่านี้สำหรับเฟรมภาพเคลื่อนไหวแต่ละเฟรมได้ ไม่ว่าจะมีการบันทึกหน้าจอหรือไม่ก็ตาม โดยเล่นซ้ำ เลื่อนไปทีละขั้น และแก้ไขข้อบกพร่องผ่านการเปลี่ยนผ่าน

บริการของระบบที่สร้างการติดตามที่โหลดลงใน Winscope ได้มีดังนี้

  • Flinger
  • ผู้จัดการหน้าต่าง
  • WMShell
  • IME
  • ปืนยิงลูกระเบิด

เรียกใช้โปรแกรมดูการติดตาม Winscope

Winscope Tracing เป็นส่วนหนึ่งของบริการบนแพลตฟอร์ม ส่วนนี้อธิบายขั้นตอนที่จำเป็นในการดาวน์โหลด สร้าง และเรียกใช้ผู้ดูการติดตาม Winscope

ทำตามขั้นตอนต่อไปนี้เพื่อตั้งค่าพีซีให้เรียกใช้ Winscope Tracer

  1. ดาวน์โหลดซอร์สโค้ด Android
  2. ไปที่โฟลเดอร์ Winscope โดยทำดังนี้

    cd development/tools/winscope
    
  3. ติดตั้งการอ้างอิงโดยใช้

    npm install
    

    หากต้องการดูรายการคำสั่งที่ใช้ได้ ให้เรียกใช้คำสั่งต่อไปนี้ npm run

  4. สร้างเป้าหมายทดสอบและทดสอบทั้งหมดโดยใช้:

    npm run build:prod
    
  5. เรียกใช้ Winscope โดยใช้

    npm run start
    

บันทึกร่องรอย

คุณสามารถจับภาพการติดตามบนอุปกรณ์, ผ่าน Winscope หรือผ่านคำสั่ง Android Debug Bridge (adb)

บันทึกร่องรอยในอุปกรณ์

จับภาพการติดตามในอุปกรณ์เพื่อรวบรวมข้อมูลเมื่อยื่นข้อบกพร่องสำหรับปัญหาเกี่ยวกับภาพเคลื่อนไหว วิธีนี้จะบันทึกการติดตาม UI ทั้งหมดด้วยวิธีการนี้ เนื่องจากปรับแต่งการกำหนดค่าไม่ได้

บนอุปกรณ์ Android ให้ทำดังนี้

  1. เปิดใช้ตัวเลือกสำหรับนักพัฒนาแอป
  2. เลือกการติดตามระบบในส่วนตัวเลือกสำหรับนักพัฒนาแอป
  3. เปิดใช้รวบรวมการติดตาม Winscope
  4. ในส่วนเบ็ดเตล็ด
    1. เปิดใช้แนบไฟล์บันทึกเสียงในรายงานข้อบกพร่อง
    2. เปิดใช้แสดงการ์ดการตั้งค่าด่วน
  5. ไปยังตำแหน่งที่คุณต้องการสร้างข้อบกพร่องซ้ำ
  6. หากต้องการเริ่มจับภาพ ให้เปิดการตั้งค่าด่วนแล้วเลือกบันทึกการติดตาม ดังนี้

    quick_setting_winscope

    รูปที่ 1 เมนูการตั้งค่าด่วนที่มี "บันทึกการติดตาม"

  7. ดำเนินการเฉพาะขั้นตอนที่จำเป็นเพื่อจำลองข้อบกพร่อง

  8. หากต้องการหยุดจับภาพ ให้เปิดการตั้งค่าด่วนแล้วเลือกหยุดการติดตาม

  9. แชร์บันทึกที่บันทึกไว้โดยใช้ตัวเลือกใดตัวเลือกหนึ่งที่ระบุไว้ เช่น Gmail, ไดรฟ์ หรือ BetterBug

จับภาพการติดตามผ่าน Winscope

คุณสามารถบันทึกการติดตามโดยใช้ Winscope สำหรับการพัฒนาและการแก้ไขข้อบกพร่องในเครื่องได้ Winscope ใช้ adb ซึ่งรองรับการเชื่อมต่ออุปกรณ์ผ่าน USB หรือ Wi-Fi

ใน Winscope

  1. ในหน้าจอรวบรวมการติดตาม ให้คลิก ADB Proxy

    ขอบเขตการจับภาพการติดตาม

    รูปที่ 2 บันทึกการติดตามใน Winscope

  2. เปิดพร็อกซี Winscope ADB Connect เพื่อบันทึกการติดตามจากเบราว์เซอร์โดยตรง

  3. เรียกใช้คําสั่งต่อไปนี้

    python3 $ANDROID_BUILD_TOP/development/tools/winscope/src/adb/winscope_proxy.py
    
  4. หากต้องการเริ่มการบันทึก ให้เลือกเป้าหมายและการกําหนดค่าในหน้าจอรวบรวมการติดตาม แล้วคลิกเริ่มการติดตาม

    รวบรวมการติดตามผลลัพธ์

    รูปที่ 3 รวบรวมการติดตามใน Winscope

  5. หากต้องการหยุดการจับภาพ ให้คลิกสิ้นสุดการติดตาม

    สิ้นสุดการติดตาม

    รูปที่ 4 สิ้นสุดการติดตามใน Winscope

ในขณะที่เครื่องมืออัปโหลดการติดตามใน UI ของ Winscope ข้อความการดึงข้อมูลและการแยกวิเคราะห์ไฟล์ Proto จะปรากฏขึ้นบนหน้าจอ

สร้าง State Dump โดยใช้ Winscope

ในการรับสถานะดัมพ์โดยใช้ Winscope ในหน้าจอรวบรวมการติดตาม ให้เลือกแท็บดัมพ์แล้วคลิกสถานะดัมพ์

ขอบเขตการดัมพ์

รูปที่ 5 สถานะดัมพ์ใน Winscope

บันทึกการติดตามผ่านคำสั่ง adb

เรียกใช้ adb root ก่อนเรียกใช้คำสั่ง adb shell สําหรับการติดตามแต่ละรายการต่อไปนี้ ที่ส่วนท้ายของการติดตาม ไฟล์การติดตามจะพร้อมใช้งานใน /data/misc/wmtrace หากต้องการคัดลอกไฟล์หรือไดเรกทอรีและไดเรกทอรีย่อยจากอุปกรณ์ โปรดดูหัวข้อคัดลอกไฟล์ไปยังและจากอุปกรณ์ ดูข้อมูลเพิ่มเติมได้ใน adb

การติดตาม WindowManager

วิธีบันทึกร่องรอย WindowManager

  • เปิดใช้การติดตาม

    adb shell wm tracing start
    
  • วิธีปิดใช้การติดตาม

    adb shell wm tracing stop
    
  • บันทึกข้อมูลการบันทึกลงในไฟล์ขณะเรียกใช้การบันทึกร่องรอย

    adb shell wm tracing save-for-bugreport
    
  • บันทึกการติดตาม 1 ครั้งต่อเฟรมดังนี้

    adb shell wm tracing frame
    
  • บันทึกธุรกรรมแต่ละรายการโดยทำดังนี้

    adb shell wm tracing transaction
    
  • กำหนดขนาดสูงสุดของบันทึก (เป็น KB) ดังนี้

    adb shell wm tracing size
    
  • สถานะการติดตามการพิมพ์:

    adb shell wm tracing status
    
  • ตั้งค่าระดับการบันทึกเป็น critical (เฉพาะหน้าต่างที่มองเห็นได้ซึ่งมีข้อมูลลดลง), trim (หน้าต่างทั้งหมดที่มีข้อมูลที่ลดลง) หรือ all (หน้าต่างและข้อมูลทั้งหมด)

    adb shell wm tracing level
    

บันทึกโปรโตคอล

คำสั่งต่อไปนี้ใช้สำหรับระบบ ProtoLog

ในกระบวนการ system_server ให้ทำดังนี้

  • เริ่ม ProtoLog:

    adb shell cmd window logging start
    
  • หยุด ProtoLog:

    adb shell cmd window logging stop
    
  • เปิดใช้ ProtoLog สําหรับกลุ่มบันทึกที่ระบุ

    adb shell cmd window logging enable [group...]
    
  • ปิดใช้ ProtoLog สําหรับกลุ่มบันทึกที่ระบุ

    adb shell cmd window logging disable [group...]
    
  • เปิดใช้การบันทึก Logcat สำหรับกลุ่มบันทึกที่ระบุ

    adb shell cmd window logging enable-text [group...]
    
  • ปิดใช้การบันทึก Logcat สำหรับกลุ่มบันทึกที่ระบุ:

    adb shell cmd window logging disable-text [group...]
    

ใน WMShell ให้ทำดังนี้

  • เริ่ม ProtoLog ด้วยคำสั่งต่อไปนี้

    adb shell dumpsys activity service SystemUIService WMShell
    

การติดตามการเปลี่ยน

คําสั่งต่อไปนี้ใช้สําหรับการติดตามการเปลี่ยน

ในกระบวนการ system_server

  • เริ่มการติดตาม

    adb shell cmd window shell tracing start
    
  • วิธีหยุดการติดตาม

    adb shell cmd window shell tracing stop
    
  • เริ่มการติดตามใน WMShell

    adb shell dumpsys activity service SystemUIService WMShell transitions tracing start
    
  • วิธีหยุดการติดตามใน WMShell

    adb shell dumpsys activity service SystemUIService WMShell transitions tracing stop
    

ตัวแก้ไขวิธีการป้อนข้อมูล

คำสั่งต่อไปนี้ใช้สำหรับการติดตามตัวแก้ไขวิธีการป้อนข้อมูล (IME)

  • เริ่มการติดตาม IME สำหรับไคลเอ็นต์วิธีการป้อนข้อมูล (IM), บริการวิธีการป้อนข้อมูล (IMS) และบริการจัดการวิธีการป้อนข้อมูล (IMMS) โดยทำดังนี้

    adb shell ime tracing start
    
  • เริ่มติดตามไคลเอ็นต์ IME, IMS และ IMMS โดยทำดังนี้

    adb shell ime tracing stop
    

เลเยอร์ของ SurfaceFlinger

การติดตามเลเยอร์ SurfaceFlinger ใช้การติดตาม Perfetto ในการบันทึก ดูข้อมูลการกําหนดค่าได้ที่การกําหนดค่าการติดตาม

ดูตัวอย่างการกําหนดค่าสําหรับการติดตามเลเยอร์ SurfaceFlinger ต่อไปนี้

unique_session_name: "surfaceflinger_layers_active"
buffers: {
    size_kb: 63488
    fill_policy: RING_BUFFER
}
data_sources: {
    config {
        name: "android.surfaceflinger.layers"
        surfaceflinger_layers_config: {
            mode: MODE_ACTIVE
            trace_flags: TRACE_FLAG_INPUT
            trace_flags: TRACE_FLAG_COMPOSITION
            trace_flags: TRACE_FLAG_HWC
            trace_flags: TRACE_FLAG_BUFFERS
            trace_flags: TRACE_FLAG_VIRTUAL_DISPLAYS
        }
    }
}

ดูตัวอย่างคําสั่งต่อไปนี้เพื่อสร้างการติดตามสําหรับเลเยอร์ SurfaceFlinger

adb shell -t perfetto \
    -c - --txt \
    -o /data/misc/perfetto-traces/trace \

ธุรกรรม SurfaceFlinger

การติดตามธุรกรรมของ SurfaceFlinger ใช้การติดตาม Perfetto สำหรับการจับภาพ ดูข้อมูลการกำหนดค่าได้ที่การกำหนดค่าการติดตาม

ดูตัวอย่างการกำหนดค่า Perfetto สำหรับ SurfaceFlinger การติดตามที่ทำงานอยู่ต่อไปนี้

unique_session_name: "surfaceflinger_transactions_active"
buffers: {
    size_kb: 1024
    fill_policy: RING_BUFFER
}
data_sources: {
    config {
        name: "android.surfaceflinger.transactions"
        surfaceflinger_transactions_config: {
            mode: MODE_ACTIVE
        }
    }
}
write_into_file: true
file_write_period_ms: 100

ดูตัวอย่างการกำหนดค่า Perfetto สำหรับ SurfaceFlinger การติดตามแบบต่อเนื่องต่อไปนี้

unique_session_name: "surfaceflinger_transactions_continuous"
buffers: {
    size_kb: 1024
    fill_policy: RING_BUFFER
}
data_sources: {
    config {
        name: "android.surfaceflinger.transactions"
        surfaceflinger_transactions_config: {
            mode: MODE_CONTINUOUS
        }
    }
}

ดูคำสั่งตัวอย่างต่อไปนี้เพื่อสร้างการติดตามธุรกรรม SurfaceFlinger

    adb shell perfetto \
    -c - --txt \
    -o /data/misc/perfetto-traces/trace \

สร้าง State Dump โดยใช้ adb

Winscope อ่านภาพรวมของสถานะของ WindowManager และ SurfaceFlinger จากรายงานข้อบกพร่อง รายงานข้อบกพร่องจะจัดเก็บสถานะเป็นไฟล์โปรโตแยกต่างหากภายในโฟลเดอร์ proto หากต้องการสร้างการสำรองข้อมูลสถานะโดยใช้ adb ให้เรียกใช้คำสั่งต่อไปนี้

สำหรับ WindowManager

adb exec-out dumpsys window --proto > window_dump.winscope

สำหรับ SurfaceFlinger

adb exec-out dumpsys SurfaceFlinger --proto > sf_dump.winscope

วิเคราะห์การติดตาม

Winscope จะรวมไฟล์การติดตามต่างๆ แสดงการค้นหาและการแสดงภาพเหนือเฟรมและไทม์ไลน์เพื่อแก้ไขข้อบกพร่องของสถานะชั่วคราวและไม่ถูกต้องที่ทำให้เกิดปัญหาเกี่ยวกับภาพเคลื่อนไหว และนำเสนอข้อความ Protobuf ในลักษณะที่สอดคล้องกัน การวิเคราะห์การติดตามใน Winscope จะช่วยระบุเลเยอร์ เฟรม และสถานะของข้อบกพร่องที่แน่นอน

ใช้ Winscope

เมื่อคุณจับภาพการติดตามแล้ว ให้วิเคราะห์การติดตามใน Winscope โดยทำดังนี้

  1. อัปโหลดร่องรอยที่บันทึกไว้โดยใช้แผงทางด้านขวา คุณสามารถนำการติดตามที่อัปโหลดออกหรืออัปโหลดการติดตามเพิ่มเติมก็ได้

    upload_traces_winscope

    รูปที่ 6 อัปโหลดการติดตามใน Winscope

  2. คลิกดูการติดตามเพื่อแสดงภาพการติดตามที่อัปโหลด แท็บสำหรับการติดตามแต่ละรายการจะปรากฏในแผงด้านบนของหน้าต่าง หากไฟล์ที่อัปโหลดมีการติดตามที่เกี่ยวข้อง ภาพแบบลอยของการติดตามการบันทึกหน้าจอจะวางซ้อนบนหน้าจอ

    ขอบเขตการดูการติดตาม

    รูปที่ 7 ดูการติดตามใน Winscope

    ใช้ UI ในแผงด้านบนสุดของหน้าต่างเพื่อเปลี่ยนชื่อ edit_name และดาวน์โหลดการติดตามที่อัปโหลด download_trace หรืออัปโหลดรายการใหม่

  3. ไปยังส่วนต่างๆ ของร่องรอยเมื่อเวลาผ่านไปโดยใช้เครื่องมือแถบเลื่อนเวลาในแผงด้านล่างของหน้าต่าง ถ้าต้องการดูเวลาเพิ่มเติม ให้ใช้คุณลักษณะต่อไปนี้ ดังแสดงในรูปที่ 8

    • หากต้องการไปยังเวลาหรือเหตุการณ์ที่เฉพาะเจาะจง ให้ใช้เคอร์เซอร์ (แถบเลื่อนเวลา) หรือarrow_left_time และลูกศรลูกศร_ขวา_เวลา ขวาในช่องแสดงเวลา (มุมซ้ายล่าง) หรือลูกศรซ้ายและขวาบนแป้นพิมพ์
    • หากต้องการแสดงการติดตามที่มีการกำหนดรหัสสีที่เลือกบนไทม์ไลน์ ให้ใช้เมนูแบบเลื่อนลง (ทางด้านซ้ายของแถบเลื่อนเวลา) โดยค่าเริ่มต้น ระบบจะแสดงร่องรอย 3 รายการล่าสุดที่ดูโดยใช้แท็บร่องรอยบนไทม์ไลน์
    • หากต้องการดูการติดตามแบบละเอียดของการติดตามทั้งหมด ให้ใช้เครื่องมือซูมเข้า zoom_in_time หรือซูมออก ซูมออก (ใต้แถบเลื่อนเวลา) หรือเลื่อนแป้นพิมพ์ ใช้ปุ่มรีเซ็ตเพื่อรีเซ็ตระดับการซูม
    • หากต้องการดูมุมมองแบบขยายของการกระจายร่องรอยตามช่วงเวลา ให้คลิกลูกศรขึ้น arrow_up_time (มุมขวาล่าง)

    time_nav_winscope

    รูปที่ 8 การนำทางเวลาใน Winscope

    ในมุมมองขยาย (รูปที่ 9) ให้เลือกและซูมเข้าในกรอบเวลาที่เจาะจงเพื่อการตรวจสอบที่ดีขึ้น ดังนี้

    ขยายขอบเขตเวลาผู้ชนะ

    รูปที่ 9 ไทม์ไลน์แบบขยายใน Winscope

  4. หากต้องการตรวจสอบการติดตาม คุณดูสถานะของอุปกรณ์ขณะบันทึกหน้าจอได้ หากต้องการตรวจสอบการติดตามที่เจาะจง ให้คลิกแท็บการติดตามที่เกี่ยวข้องในแผงด้านบนของเครื่องมือ

    • สำหรับการติดตาม Surface Flinger แผง 3 แผงจะแสดงมุมมองที่แตกต่างกันของการติดตามในระยะเวลาที่กำหนด ดังที่แสดงในรูปที่ 10 ดังนี้ sf_trace

      รูปที่ 10 การติดตาม Surface Flinger ใน Winscope

      • มุมมองเลเยอร์: มุมมอง 3 มิติของเลเยอร์ในการวางซ้อนสี่เหลี่ยมผืนผ้า องค์ประกอบ UI ต่อไปนี้จะปรับรูปสี่เหลี่ยมเพื่อแสดงองค์ประกอบกราฟิกในแง่ของตำแหน่ง ขนาด การแปลง และลำดับ z

        • แถบเลื่อนการหมุน (ด้านซ้ายบนของมุมมองเลเยอร์) จะหมุนสี่เหลี่ยมผืนผ้าที่วางซ้อนกันเพื่อดูในมุมที่เลือก
        • แถบเลื่อนระยะห่าง (ด้านขวาบนของมุมมองเลเยอร์) จะปรับระยะห่างระหว่างเลเยอร์เพื่อสร้างมุมมองแบบผสมที่เลือก
        • เครื่องมือซูม (ด้านขวาบนของมุมมองเลเยอร์) จะซูมเข้า zoom_in_time และซูมออก zoom_out_time เข้าไปในเลเยอร์เพื่อการตรวจสอบที่ดีขึ้น
        • ปุ่มรีเซ็ต รีเซ็ต sf (ด้านขวาบนของมุมมองเลเยอร์) จะคืนค่าการตั้งค่ากล้องเป็นมุมมองเดิม
        • ลากรูปสี่เหลี่ยมเพื่อทำให้การซูมง่ายขึ้น
      • มุมมองลําดับชั้น: ลําดับชั้นทั้งหมดของเลเยอร์

        • มองเห็นได้เท่านั้น (ด้านขวาบนของมุมมองลําดับชั้น) เมื่อเลือกตัวเลือกนี้ ระบบจะซ่อนเลเยอร์มองไม่เห็นจากลําดับชั้นเพื่อช่วยแสดงภาพองค์ประกอบบนหน้าจอ
        • แนวราบ (ด้านขวาบนของมุมมองลำดับชั้น) หากเลือก จะแสดงลำดับชั้นเป็นรายการเลเยอร์ที่แยกเป็นหลายรายการ
        • ระบบจะเลือกแสดงความแตกต่าง (ด้านซ้ายบนของมุมมองลำดับชั้น) เมื่อมีการเปลี่ยนสถานะเท่านั้น เมื่อเลือกไว้ เครื่องมือจะเปรียบเทียบสถานะปัจจุบันกับสถานะก่อนหน้า องค์ประกอบใหม่จะไฮไลต์เป็นสีเขียว องค์ประกอบที่ถูกลบจะไฮไลต์เป็นสีแดง และองค์ประกอบที่แก้ไขแล้วจะถูกไฮไลต์ด้วยสีน้ำเงิน
      • มุมมองพร็อพเพอร์ตี้: พร็อพเพอร์ตี้ของเลเยอร์ที่คุณเลือก แผงด้านบนของมุมมองคุณสมบัติมีข้อมูลเกี่ยวกับคุณสมบัติหลักเท่านั้น เช่น ทัศนวิสัย เรขาคณิต และบัฟเฟอร์ แผงด้านล่างของมุมมองพร็อพเพอร์ตี้มีการดัมพ์ Proto ของพร็อพเพอร์ตี้ทั้งหมด

        • ช่องทำเครื่องหมายแสดงความแตกต่าง (ด้านซ้ายบนของมุมมองคุณสมบัติ) จะทำงานเหมือนกับในมุมมองลำดับชั้น
        • แสดงค่าเริ่มต้น (ด้านซ้ายบนของมุมมองพร็อพเพอร์ตี้) หากเลือก จะแสดงค่า Proto เริ่มต้นใน Proto Dump โดยค่าเริ่มต้น ค่าเหล่านี้จะไม่ปรากฏใน Proto Dump ระบบจะนำค่าโปรโตเริ่มต้นมาจากคำจำกัดความของช่องโปรโต หากช่อง Pro ไม่ได้มีการตั้งค่าเริ่มต้นที่ไม่ใช่ค่าว่าง ค่า Proto เริ่มต้นที่แสดงจะเป็นดังนี้
          • สตริง: Null
          • ตัวเลข: 0
          • ค่าบูลีน: เท็จ
          • วัตถุ: Null

      การเลือกระหว่างมุมมอง 3 มุมมองและการบันทึกหน้าจอจะซิงค์กัน กล่าวคือ ร่องรอยทั้งหมดจะอัปเดตพร้อมกันเมื่อคุณไปยังจุดอื่น หากต้องการดูคุณสมบัติของเลเยอร์ ให้เลือกเลเยอร์โดยคลิกเลเยอร์นั้นในมุมมองลําดับชั้น หรือคลิกสี่เหลี่ยมผืนผ้าที่เกี่ยวข้องในมุมมองพร็อพเพอร์ตี้ สี่เหลี่ยมผืนผ้าสีม่วงบ่งบอกว่ามีการติดตามการดูแนบอยู่กับเลเยอร์นี้ เมื่อดับเบิลคลิกเลเยอร์สีม่วง UI จะเปลี่ยนเป็นแท็บการติดตามมุมมองที่เกี่ยวข้อง

    • สําหรับการติดตาม Window Manager แผง 3 แผงจะแสดงมุมมองการติดตามที่แตกต่างกันในช่วงเวลาหนึ่งๆ ดังที่แสดงในรูปที่ 11

      • มุมมองหน้าต่าง: มุมมอง 3 มิติของเลเยอร์
      • มุมมองลำดับชั้น: ลำดับชั้นทั้งหมดของเลเยอร์
      • มุมมองคุณสมบัติมี Proto Dump ของพร็อพเพอร์ตี้ทั้งหมด

      การเลือกระหว่างมุมมอง 3 มุมมองและการบันทึกหน้าจอจะซิงค์กัน กล่าวคือ ร่องรอยทั้งหมดจะอัปเดตพร้อมกันเมื่อคุณไปยังจุดอื่น

      wm_trace

      รูปที่ 11 ติดตาม Window Manager ใน Winscope

    • สำหรับการติดตามธุรกรรม ธุรกรรมระหว่าง Surface Flinger และ Window Manager จะแสดงในรูปแบบตารางซึ่งสามารถค้นหาได้จากรหัส ประเภท และข้อความที่แสดง รวมถึงมุมมองพร็อพเพอร์ตี้ที่แสดง Proto Dump การเลือกระหว่าง 2 มุมมองและการบันทึกหน้าจอจะซิงค์กัน

      transaction_trace

      รูปที่ 12 การติดตามธุรกรรมใน Winscope

    • สำหรับการติดตาม ProtoLog ข้อมูลจะแสดงในรูปแบบตาราง ซึ่งค้นหาได้โดยใช้แท็ก ไฟล์ต้นฉบับ และข้อความ

      protolog_trace

      รูปที่ 13 การติดตาม ProtoLog ใน Winscope

    • สำหรับการติดตามการเปลี่ยน รายการการเปลี่ยนพร้อมรหัส ประเภท เวลาส่ง ระยะเวลา และสถานะจะแสดงพร้อมกับคุณสมบัติของการเปลี่ยนที่เลือก ดังนี้

      transitions_trace

      รูปที่ 14 การติดตามทรานซิชันใน Winscope