ฉันจะหาสาเหตุของการรีบูตอุปกรณ์แบบสุ่มได้อย่างไร


30

หลังจากรำคาญกับ ROM ก่อนหน้าของฉันฉันคิดว่าฉันจะติดตั้ง ICS ใน SGS2 ของฉัน (จนกว่า CM9 จะออกมา) แต่น่าเสียดายที่ตอนนี้มันรีบูตหลายครั้งต่อวันโดยไม่มีเหตุผลจริง อุปกรณ์วางอยู่บนโต๊ะโดยไม่ทำอะไรเลยและจากนั้นหน้าจอจะเปิดขึ้นและฉันสามารถดูการรีบูทได้

ดังนั้นฉันจะเริ่มวิเคราะห์ปัญหานี้อย่างไร เห็นได้ชัดว่าฉันสามารถลองแฟลช ROM ที่แตกต่างกันอย่างบ้าคลั่งจนกว่าปัญหาจะหายไปเอง แต่ฉันต้องการแนวทางที่เหมาะสมกว่า

คำตอบ:


6

คุณสามารถติดตั้งandroid SDKและใช้DDMSเพื่อตรวจสอบ logcat สิ่งที่มี logcat นั้นจะถูกล้างเมื่ออุปกรณ์รีบู๊ต แต่คุณอาจได้รับความคิดของสิ่งที่ผิดพลาดถ้าคุณกำลังตรวจสอบมันก่อนที่จะรีบูต

คุณอาจพบ nightlies CM9 ที่ไม่เป็นทางการสำหรับ Galaxy S2 แต่ฉันไม่แน่ใจว่าปัญหายังคงมีอยู่สำหรับอุปกรณ์นั้น


สำหรับความรู้ของฉันนี่เป็นปัญหาล่าสุดของ CM9: teamhacksung.org/wiki/index.php/…
Der Hochstapler

14

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

นี่คือข้อผิดพลาด btw: http://code.google.com/p/android/issues/detail?id=24118


โอ้ว้าวที่สร้างออกตัน ฉันจะรันอีกครั้งหลังจากรีบูตครั้งถัดไปและดูว่ามันพ่นออกไป
Der Hochstapler

ฉันบ้าไปแล้วที่พยายามคิดการรีบูตแบบสุ่มบนโทรศัพท์ทดสอบเครื่องหนึ่งของฉัน ฉันไม่ใช่ OP แต่มันมีประโยชน์มากขอบคุณสำหรับการโพสต์!
มี่

1
คำตอบของฉันคือสามปี ตั้งแต่นั้นมา, Android มีอากาศในตัววิธีการส่ง (สิ่งที่ผมถือว่าเป็น) รายงานความผิดพลาด: Settings/ /About phone Send feedback about this deviceฉันใช้มันหลายครั้งใน Android 5.0 และเมื่อ 5.1 ออกมาฉันได้รับข้อความเล็กน้อยจาก Google ว่า "ขอบคุณที่ช่วยเราทำให้ 5.1 มีเสถียรภาพมากขึ้น" ... และมันไม่รีบูตตั้งแต่อัพเกรดเป็น 5.1!
offby1

7

สิ่งแรกที่ฉันจะลองทำคือดึงไฟล์บันทึกข้อผิดพลาดผ่าน ADB และ / หรือการทิ้งที่ผิดพลาด

การดึงบันทึกเป็นเรื่องที่ยุ่งยากเนื่องจากแคชบันทึกจะถูกลบเมื่อรีบูต หากโทรศัพท์รีบู๊ตแม้ในขณะที่ชาร์จอยู่ให้ลองใช้งานadb logcatอย่างต่อเนื่อง (คุณจะต้องติดตั้งและกำหนดค่าไดรเวอร์ Android SDK และ USB บนพีซีของคุณ) เมื่อโทรศัพท์รีบูตให้ดูที่หน้าสุดท้ายหลายหน้าในหน้าต่างแจ้งคำสั่งเพื่อหาข้อผิดพลาด หรือความผิดปกติ

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

คุณยังสามารถลองดึงความผิดพลาดจากการทิ้งผ่านคำสั่งต่อไปนี้:

su  
cat /proc/last_kmsg > /mnt/sdcard/last_kmsg

สิ่งนี้ควรสร้างไฟล์ชื่อ "last_kmsg" บนการ์ด SD ของคุณที่มีข้อความการดีบักไม่กี่ครั้งล่าสุดจากเคอร์เนล เปิดด้วยโปรแกรมแก้ไขข้อความใด ๆ และดูว่ามีอะไรปรากฏขึ้นชัดเจน


2
ฉันกำลังใช้เชลล์ ADB ไม่ถูกต้องหรือ/proc/last_kmsgไม่มีอยู่ในโทรศัพท์ของฉัน
Der Hochstapler

@OliverSalzburg ดูได้ที่stackoverflow.com/a/10525021/529977 /data/dontpanic
childno͡.de

3

คุณสามารถลอง aLogrec และหากคุณต้องการเวอร์ชันบริจาค เขียนโดยโปรแกรมเมอร์คนเดียวกับที่เขียน aLogcat มันจะบันทึกบันทึกอย่างต่อเนื่อง (logcat) ไปยังการ์ด SD ของคุณ ฉันยังไม่ได้ทดสอบว่ามันตอบสนองอย่างไรกับการรีสตาร์ทจากความผิดพลาด แต่ฉันทดสอบด้วยการรีสตาร์ทด้วยตนเองและบันทึกที่บันทึกไว้รอดจากการรีสตาร์ทและสามารถเห็นลำดับการปิดที่ถูกบันทึกไว้ ข้อเสียเดียวคือบันทึกไม่รวมการประทับเวลา

T-mobile S II ของฉันขัดข้อง (รีสตาร์ท) เมื่อใช้คุณสมบัติพื้นฐาน - วางสาย (หนึ่งครั้ง) ถ่ายภาพ (หนึ่งครั้ง) หรือใช้การนำทาง (3 ครั้ง) ฉันอัปเกรดจาก ICS 4.0.3 เป็น 4.0.4 จนถึงตอนนี้มันก็ดีแล้ว ฉันหวังว่าฉันจะรู้เกี่ยวกับ aLogrec ในขณะที่ฉันมีการรีสตาร์ทเหล่านี้


คาดว่าจะไม่ทำงานใน 4.x ตามรีวิว
endolith

1
Logcat Extreme ทำงานได้ใน 4.x play.google.com/store/apps/details?id=scd.lcex&hl=th
endolith

1

ฉันมีปัญหาเดียวกัน แต่ในไม่กี่นาทีมันก็ให้ฉันทุกครั้งที่ฉันทดลองและพบว่ามันหยุดทำงานถ้าฉันไปที่การอัพเดตเครือข่ายในการตั้งค่าแม้ว่าจะไม่มีการอัพเดทก็ตาม ตอนนี้ใช้งานได้ แต่ฉันก็น่ารำคาญที่ต้องทำทุกครั้ง

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