รายงานข้อบกพร่องมีบันทึกของอุปกรณ์ สแต็กเทรซ และการวินิจฉัยอื่นๆ
เพื่อช่วยคุณค้นหาและแก้ไขข้อบกพร่องในแอป เพื่อแก้ไขข้อบกพร่อง
จากอุปกรณ์ของคุณ ให้ใช้นักพัฒนาซอฟต์แวร์ใช้รายงานข้อบกพร่อง
บนอุปกรณ์ เช่น เมนูโปรแกรมจำลอง Android
หรือคำสั่ง adb bugreport
ในเครื่องการพัฒนาของคุณ
![](https://developer.android.google.cn/static/studio/images/run/dev-options-pixel_2x_cropped.png?authuser=19&hl=th)
รูปที่ 1 ตัวเลือกสำหรับนักพัฒนาแอปในอุปกรณ์
คุณต้องมีสิ่งต่อไปนี้เพื่อรับรายงานข้อบกพร่อง ตัวเลือกสำหรับนักพัฒนาซอฟต์แวร์ที่เปิดใช้อยู่ใน อุปกรณ์เพื่อเข้าถึงตัวเลือกใช้รายงานข้อบกพร่อง
บันทึกรายงานข้อบกพร่องจากอุปกรณ์
![](https://developer.android.google.cn/static/studio/images/run/dev-options-take-bug-report_2x.png?authuser=19&hl=th)
รูปที่ 2 รายงานข้อบกพร่องพร้อมใช้งานแล้ว
หากต้องการรับรายงานข้อบกพร่องโดยตรงจากอุปกรณ์ของคุณ ให้ทำดังนี้
- เปิดใช้งาน นักพัฒนาซอฟต์แวร์ ตัวเลือก
- ในตัวเลือกสำหรับนักพัฒนาซอฟต์แวร์ ให้แตะสร้างรายงานข้อบกพร่อง
- เลือกประเภทรายงานข้อบกพร่องที่ต้องการ แล้วแตะรายงาน
หลังจากนั้นสักครู่ คุณจะได้รับการแจ้งเตือนว่ารายงานข้อบกพร่องพร้อมใช้งานแล้ว รูปที่ 2
- หากต้องการแชร์รายงานข้อบกพร่อง ให้แตะการแจ้งเตือน
บันทึกรายงานข้อบกพร่องจากโปรแกรมจำลองของ Android
จากโปรแกรมจำลองของ Android คุณสามารถใช้รายงานข้อบกพร่อง ในการควบคุมเพิ่มเติม
- คลิกเพิ่มเติม
ใน แผงโปรแกรมจำลอง
เลือกรายงานข้อบกพร่องในหน้าต่างการควบคุมเพิ่มเติม
ซึ่งจะเปิดหน้าจอที่คุณสามารถดูรายละเอียดรายงานข้อบกพร่อง เช่น ภาพหน้าจอ ข้อมูลการกำหนดค่า AVD และบันทึกรายงานข้อบกพร่อง คุณสามารถ พิมพ์ข้อความพร้อมขั้นตอนการสร้างข้อผิดพลาดซ้ำเพื่อบันทึกพร้อมกับรายงาน
รอให้รายงานข้อบกพร่องเสร็จสมบูรณ์ แล้วคลิกบันทึกรายงาน
สร้างรายงานข้อบกพร่องโดยใช้ adb
หากคุณมีอุปกรณ์ที่เชื่อมต่ออยู่เพียงเครื่องเดียว คุณสามารถรับรายงานข้อบกพร่องโดยใช้
adb
ดังนี้
$ adb bugreport E:\Reports\MyBugReports
หากคุณไม่ระบุเส้นทางสำหรับรายงานข้อบกพร่อง ระบบจะบันทึกเส้นทางนั้นไว้ใน ไดเรกทอรีในเครื่อง
หากมีอุปกรณ์เชื่อมต่ออยู่หลายเครื่อง คุณต้องระบุอุปกรณ์ที่มี
ตัวเลือก-s
เรียกใช้คำสั่ง adb
ต่อไปนี้เพื่อ
รับหมายเลขซีเรียลของอุปกรณ์และสร้างรายงานข้อบกพร่อง
$ adb devices List of devices attached emulator-5554 device 8XV7N15C31003476 device $ adb -s 8XV7N15C31003476 bugreport
บันทึกรายงานข้อบกพร่องที่เก่ากว่า
โดยค่าเริ่มต้น ระบบจะบันทึกรายงานข้อบกพร่องที่ /bugreports
และสามารถดูได้โดยใช้
คำสั่งต่อไปนี้
$ adb shell ls /bugreports/ bugreport-foo-bar.xxx.YYYY-MM-DD-HH-MM-SS-dumpstate_log-yyy.txt bugreport-foo-bar.xxx.YYYY-MM-DD-HH-MM-SS.zip dumpstate-stats.txt
จากนั้นคุณสามารถดึงไฟล์ ZIP ผ่าน adb pull
:
$ adb pull /bugreports/bugreport-foo-bar.xxx.YYYY-MM-DD-HH-MM-SS.zip
ตรวจสอบไฟล์ ZIP ของรายงานข้อบกพร่อง
โดยค่าเริ่มต้น ไฟล์ ZIP จะถูกเรียก
bugreport-BUILD_ID-DATE.zip
ไฟล์ ZIP
สามารถมีได้หลายไฟล์ แต่ไฟล์ที่สำคัญที่สุดคือ
bugreport-BUILD_ID-DATE.txt
ช่วงเวลานี้
คือรายงานข้อบกพร่อง ซึ่งมี
ผลลัพธ์การวินิจฉัยสำหรับบริการของระบบ (dumpsys
), บันทึกข้อผิดพลาด (dumpstate
)
และบันทึกข้อความของระบบ (logcat
) ข้อความระบบมีสแต็กเทรซ
เมื่ออุปกรณ์แสดงข้อผิดพลาดและข้อความที่เขียนจากแอปทั้งหมดที่มี
Log
ชั้นเรียน
ไฟล์ ZIP มีไฟล์ข้อมูลเมตา version.txt
ที่มี
จดหมายอนุญาตของ Android เมื่อเปิดใช้งาน Systrace แล้ว ไฟล์ ZIP ยัง
มีไฟล์ systrace.txt
เครื่องมือ Systrace
ซึ่งช่วยวิเคราะห์ประสิทธิภาพ
ด้วยการบันทึกและแสดงเวลาดำเนินการ
กระบวนการของแอปและกระบวนการอื่นๆ ของระบบ Android
เครื่องมือ dumpstate
จะคัดลอกไฟล์จากระบบไฟล์ของอุปกรณ์
ลงในไฟล์ ZIP ในโฟลเดอร์ FS
เพื่อให้คุณใช้อ้างอิงได้ ตัวอย่างเช่น
ไฟล์ /dirA/dirB/fileC
ในอุปกรณ์จะสร้าง
FS/dirA/dirB/fileC
รายการในไฟล์ ZIP
รูปที่ 3 โครงสร้างของไฟล์รายงานข้อบกพร่อง
สำหรับข้อมูลเพิ่มเติม โปรดดู การอ่านรายงานข้อบกพร่อง
รับรายงานจากผู้ใช้
การบันทึกรายงานข้อบกพร่องมีประโยชน์เมื่อคุณใช้แอป แต่ผู้ใช้ปลายทางของคุณไม่สามารถแชร์รายงานข้อบกพร่องประเภทนี้ กับคุณ หากต้องการรับรายงานข้อขัดข้องพร้อมสแต็กเทรซจากผู้ใช้จริง ใช้ประโยชน์จากรายงานข้อขัดข้องของ Google Play และ Firebase ใหม่ๆ
Google Play Console
คุณสามารถรับรายงานได้จาก Google Play Console เพื่อดูข้อมูลข้อขัดข้องและแอปพลิเคชัน ข้อผิดพลาดการตอบสนอง (ANR) จากผู้ใช้ที่ติดตั้งแอปของคุณจาก Google Play โดยจะมีข้อมูลย้อนหลังไปได้ในช่วง 6 เดือนที่ผ่านมา
สำหรับข้อมูลเพิ่มเติม โปรดดู ดูข้อผิดพลาดเกี่ยวกับข้อขัดข้องและแอปพลิเคชันไม่ตอบสนอง (ANR) ในความช่วยเหลือของ Play Console
รายงานข้อขัดข้องของ Firebase
การรายงาน Firebase Crashlytics จะสร้างรายงานโดยละเอียดของข้อผิดพลาดในไฟล์ แอป ระบบจะจัดกลุ่มข้อผิดพลาดเป็นปัญหาตามสแต็กเทรซที่คล้ายกันและ ตามความรุนแรงของผลกระทบที่มีต่อผู้ใช้ นอกจากแบบอัตโนมัติ คุณสามารถบันทึกเหตุการณ์ที่กำหนดเองเพื่อช่วยบันทึกขั้นตอนที่ทําให้เกิดข้อขัดข้อง
หากต้องการเริ่มรับรายงานข้อขัดข้องจากผู้ใช้ โปรดเพิ่ม
ทรัพยากร Dependency ของ Firebase
ลงในไฟล์ build.gradle
สำหรับข้อมูลเพิ่มเติม โปรดดู
Firebase Crashlytics