น่าเสียดายที่แอป (ใด ๆ ) หยุดทำงาน ฉันควรรายงานอะไร


28

เมื่อแอปดังกล่าวได้รับความนิยมเช่นเคยและหยุดทำงานคุณจะได้รับตัวเลือกในการรายงาน คุณควรจะพูดอะไรใน "รายงาน"

คำตอบ:


31

คุณจะต้องการที่จะช่วยให้นักพัฒนาที่จะช่วยให้คุณ

คำตอบของ mbanzonกล่าวว่าผู้พัฒนาจะได้รับ stack trace ของข้อผิดพลาด แต่เพียงบอกเราว่าเกิดอะไรขึ้นและที่ไหน

ไม่ได้บอกอะไรเราเกี่ยวกับสถานะแอปพลิเคชั่น: อะไรคือค่าของตัวเลขนั้นหรือข้อความที่ป้อนในฟิลด์ข้อความคืออะไร? และที่สำคัญที่สุดผู้ใช้ทำอะไรเพื่อทำให้แอปพลิเคชันหยุดทำงาน

คำถามหลังมีความสำคัญอย่างยิ่งเพื่อให้เราสามารถทำซ้ำข้อผิดพลาดและช่วยให้เราเข้าใจว่าเหตุใดแอปพลิเคชันจึงล้มเหลวในสถานการณ์เหล่านี้

ดังนั้นหากคุณต้องการช่วยนักพัฒนาจริงๆเขียนสิ่งที่คุณทำสิ่งที่คุณคาดหวังและสิ่งที่คุณเห็น ตัวอย่างเช่น:

ฉันเริ่มต้นแอพและกดปุ่มเพื่อไปที่หน้าจอรายงาน จากนั้นฉันกดปุ่มเพื่อสร้างรายงานและแอปขัดข้อง น่าสนใจหน้าจอว่างเปล่า: ไม่มีข้อมูลปรากฏให้เห็น

หากคุณไม่ชอบพิมพ์มากนักคุณสามารถย่อ:

กดปุ่มเพื่อสร้างรายงาน หน้าจอว่างเปล่า


2
ฉันจะเพิ่มว่านักพัฒนาสามารถแก้ไขข้อบกพร่องในแอปพลิเคชันของพวกเขาเท่านั้น หากระบบปฏิบัติการมีข้อบกพร่อง (เช่นมีข้อบกพร่องมากมายฝังอยู่ใน WebView) แสดงว่าไม่มีสิ่งใดที่สามารถทำได้นอกเหนือจากการรายงานปัญหาไปยัง Google และหวังว่าพวกเขาจะแก้ไขได้ที่ไหนสักแห่งตามสาย สิ่งนี้เกิดขึ้นประมาณ 20% ของเวลา มันจะดีถ้าการรายงานข้อผิดพลาดไปที่สถานที่ที่ถูกต้องโดยอัตโนมัติเมื่อเป็นข้อผิดพลาดระดับ OS แทนคิวนักพัฒนาแอปหรือหากมีวิธีที่ง่ายในการรายงาน / ผลักดันข้อผิดพลาดอัปสตรีมไปยังทีม Android โดยไม่ต้องใช้ ระบบจองตั๋ว
CubicleSoft

@CubicleSoft และนักข่าวจะรู้ได้อย่างไรว่ามันเป็นข้อผิดพลาดของระบบปฏิบัติการหรือไม่? จำไว้ว่านักข่าวเป็นส่วนหนึ่งของระบบปฏิบัติการด้วย แม้แต่นักพัฒนาซอฟต์แวร์ของ Google ก็สามารถทำอะไรบางอย่างเพื่อระบุว่าเป็นข้อผิดพลาดของระบบปฏิบัติการ พวกเขาจำเป็นต้องตรวจสอบหรือทำซ้ำด้วยมือ อีกครั้งส่งถึงผู้พัฒนาแอปก่อนไม่ยุ่งกับ Google
EKons

@CubicleSoft นั่นอาจเป็นข้อมูลที่เป็นประโยชน์สำหรับผู้ใช้ที่ประสบปัญหาบนอุปกรณ์ Android แต่ไม่ได้อยู่ในขอบเขตของคำถามนี้
nhaarman

@ ΈρικΚωνσταντόπουλοςนักข่าวไม่ทราบว่า อย่างไรก็ตาม Google Play อาจฉลาดพอที่จะดูการติดตามสแต็กและตรวจสอบว่ามีการเพิ่มข้อผิดพลาดไปยัง Google เนื่องจากความผิดพลาดอยู่นอกขอบเขตของนักพัฒนา นั่นจะทำให้เกิดปัญหาที่เกี่ยวข้องในคิวของ dev เท่านั้น สถานะของกิจการในปัจจุบันคือรายงานความผิดพลาดที่ไร้ประโยชน์สิ้นสุดลงในคิวของนักพัฒนาซอฟต์แวร์ซึ่งพวกเขาไม่สามารถทำอะไรได้เพราะเป็นข้อบกพร่องระดับระบบปฏิบัติการ ดังนั้นผู้ใช้เพียงแค่หยุดทำและรายงานและไม่มีอะไรเปลี่ยนแปลง นี่เป็นเอฟเฟกต์การรายงานข้อผิดพลาดของ Windows (WER)
CubicleSoft

@nhaarman มันมีประโยชน์ที่จะรู้ว่าแม้ว่าคุณจะใช้เวลาในการเขียนรายงานความผิดพลาดมันอาจจะไร้ประโยชน์กับ dev เพราะคุณพบข้อผิดพลาดที่มีอยู่ในระบบปฏิบัติการและไม่ใช่แอป ดังที่ฉันได้กล่าวไปแล้วปัจจุบันฉันเห็นสิ่งนี้ประมาณ 20% ของเวลาหรือ 1 ใน 5 รายงานความผิดพลาดทั้งหมด การรายงานบั๊กอัปสตรีมในปัจจุบันยากเกินไป / ใช้เวลานานสำหรับ devs ส่วนใหญ่ดังนั้นพวกเขาจึงกดปุ่มลบ ฉันกดลบเช่นเดียวกับนักพัฒนาอื่น ๆ ข้อมูลนี้บางส่วนสามารถใช้เป็นคำตอบได้โดยไม่เป็นอุปสรรคต่อการส่งรายงาน (ยังมีประโยชน์ แต่ก็ไม่ได้มีประโยชน์เสมอไป)
CubicleSoft

9

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

นักพัฒนาซอฟต์แวร์ได้รับการติดตามสแต็กสมบูรณ์ของข้อผิดพลาด (เฉพาะรหัสในแอปของพวกเขา) และในหลายกรณีก็เพียงพอที่จะค้นหาและแก้ไขข้อผิดพลาดได้


1
ฉันเป็นนักพัฒนา บางครั้งมันเป็นไปไม่ได้ที่จะแก้ไขข้อผิดพลาดเพราะฉันไม่รู้ว่ามันเกิดจากที่ใด (Proguard ... ) เพียงข้อความเล็ก ๆ จะช่วยให้นักพัฒนาซอฟต์แวร์สามารถแก้ไขปัญหาได้ง่ายขึ้น
โธมัส Vos

คุณถูกต้องอย่างแน่นอน - สิ่งที่ผู้ใช้รู้เกี่ยวกับสิ่งที่ทำให้เกิดความผิดพลาดและพวกเขารู้สึกมั่นใจว่าการเขียนจะช่วยได้ เพียงแค่จัดเรียงคำตอบของฉันใหม่เพื่อเน้นความหมายที่แท้จริง ;-)
Michael Banzon

1
@SuperThomasLab - ถึงแม้จะมี Proguard คุณยังสามารถอ่าน / ยกเลิกการติดตามสแต็คหากคุณมีไฟล์การแมปซึ่งจะบอกให้คุณทราบว่าเกิดการขัดข้องที่ไหน อ่านส่วน "ถอดรหัสการติดตามสแต็กที่สับสน" ของคู่มือ Proguard: developer.android.com/studio/build/shrink-code.htmlและสิ่งนี้: support.google.com/googleplay/android-developer/answer/6295281
JonasCz - Reinstate Monica

@ JonasCz ฉันรู้ว่าคุณสามารถถอดรหัสได้ (Google Play DC ทำเพื่อฉัน) แต่คุณยังไม่สามารถรับสายตรงที่มันล้มเหลว
โทมัส Vos

1
@SuperThomasLab คุณอาจสามารถเก็บหมายเลขบรรทัดได้เช่นกัน: Proguard หวนหมายเลขที่ขาดหายไป
JonasCz - Reinstate Monica

4

ในฐานะนักพัฒนาซอฟต์แวร์โดยปกติฉันจะได้รับข้อความตามบรรทัด "It crashed" ซึ่งไม่ได้ช่วยฉัน แต่อย่างใด ฉันขอแนะนำให้คุณอย่าส่งข้อความเว้นแต่คุณจะสามารถอธิบายวิธีการทำซ้ำ (เช่นหากคุณสามารถทำให้มันขัดข้องโดยการทำสิ่งที่เฉพาะเจาะจงในแอป)

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

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


1

คุณสามารถย้อนขั้นตอนจนถึงขั้นที่แอพขัดข้อง เช่นคุณเคยใช้แอพใดก่อนหน้าแอพนี้ คุณมี wifi หรือไม่ ความคุ้มครองที่ดี? เครดิตของคุณหมดอายุเมื่อใช้งานแอพ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.