วิธีบันทึกบน Android: Logcat, dmesg และ ramoops

สงสัยว่าจะบันทึกบน Android ได้อย่างไร? ในคู่มือนี้ เราจะบอกคุณเกี่ยวกับบันทึกทั่วไปต่างๆ บน Android และวิธีการรวบรวม

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

ก่อนที่เราจะเริ่ม คุณควรตั้งค่า Android Debug Bridge บนคอมพิวเตอร์ของคุณ เนื่องจากคุณอาจต้องใช้การเข้าถึง ADB สำหรับบันทึกบางส่วนเหล่านี้ เรามีคำแนะนำที่ดีเกี่ยวกับ วิธีตั้งค่า ADB บนคอมพิวเตอร์เครื่องใดก็ได้.

บันทึกความตื่นตระหนกของเคอร์เนล

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

ผู้ผลิต Android ส่วนใหญ่ใช้ไดรเวอร์อัปสตรีม 'pstore' และ 'ramoops' เพื่อจัดเก็บบันทึกเคอร์เนลหลังจากเกิดความตื่นตระหนก Ramoops เขียนบันทึกลงใน RAM ก่อนที่ระบบจะล่ม ด้วยการเข้าถึงรูท จะสามารถดึงบันทึกเหล่านี้ได้จาก:

/sys/fs/pstore/console-ramoops

ชื่อไฟล์อาจแตกต่างกันเล็กน้อย แต่จะอยู่ในไดเร็กทอรี pstore คุณสามารถรับได้โดยใช้การดึง ADB หรือวิธีอื่นที่คุณต้องการ ตัวอย่างเช่น:

adb pull /sys/fs/pstore/console-ramoops C:\Users\Gaurav\Desktop\filename

ข้อความไดรเวอร์

บันทึกจากบัฟเฟอร์ข้อความไดรเวอร์สามารถใช้เพื่อวินิจฉัยปัญหาเกี่ยวกับไดรเวอร์ระบบและสาเหตุที่บางอย่างไม่ทำงาน บน Android คุณสามารถใช้เอาต์พุต 'dmesg' เพื่อรับบันทึกเหล่านี้ คุณจะต้องการ การเข้าถึงรูท เพื่อรับบันทึกเหล่านี้ ใช้คำสั่ง ADB ต่อไปนี้เพื่อส่งออกบันทึกทั้งหมด

adbshellsu-cdmesg > dmesg.log

บันทึกของระบบ

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

แอพ Android หลายตัวมีให้บริการใน Google Play Store ที่ช่วยให้เข้าถึงเครื่องมือเหล่านี้ได้ง่าย เราจะพูดถึงแอปเหล่านี้ในบทความนี้ นอกจากนี้ ROM แบบกำหนดเองหลายรายการยังมาพร้อมกับตัวเลือกในการตั้งค่า Developers เพื่อรวบรวมบันทึกของระบบ

หากต้องการรวบรวมบันทึกโดยใช้ ADB ให้ใช้คำสั่งต่อไปนี้ คำสั่งนี้จะส่งออกบันทึกต่อเนื่อง ดังนั้นให้ใช้ Ctrl + C เพื่อหยุด

adblogcat > logcat.txt

คุณสามารถใช้พารามิเตอร์ -d เพื่อส่งออกบันทึกทั้งหมดได้ในครั้งเดียว

adblogcat-d > logcat.txt

หากต้องการ คุณยังสามารถดูหรือบันทึกบัฟเฟอร์วิทยุได้โดยใช้คำสั่งต่อไปนี้

adblogcat-dbradio > radio.txt

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

logcat -d -f /sdcard/logcat.txt

แอพ Android สำหรับรวบรวมบันทึก

Logcat เอ็กซ์ตรีม

Logcat Extreme สามารถช่วยคุณอ่านเอาต์พุต logcat และ dmesg รวมถึงบันทึกบันทึก ต้องเข้าถึงรูทเพื่อแสดงบันทึกอย่างถูกต้อง

Logcat เอ็กซ์ตรีมผู้พัฒนา: SCDevs

ราคา: ฟรี

3.9.

ดาวน์โหลด

เครื่องอ่าน Logcat

Logcat Reader เป็นแอปโอเพ่นซอร์สที่ให้คุณอ่านและบันทึกบันทึกของระบบ มันบันทึกรหัสสีตามลำดับความสำคัญของบันทึก

เครื่องอ่าน Logcatผู้พัฒนา: ดาร์ชาน ปาราจูลี

ราคา: ฟรี

4.2.

ดาวน์โหลด

LiveBoot

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

LiveBoot แทนที่แอนิเมชั่นการบูตอุปกรณ์ของคุณด้วยเอาต์พุต logcat และ dmesg เมื่อมันเกิดขึ้น การกำหนดค่าเอาต์พุตรวมถึงระดับ logcat, การเลือกบัฟเฟอร์และรูปแบบ, การแสดง dmesg และอื่นๆ ต้องการการเข้าถึงรูทเช่นเดียวกับ SuperSU เวอร์ชัน 2.40 หรือใหม่กว่า คุณสามารถค้นหาเพิ่มเติมเกี่ยวกับแอพได้ เธรด XDA.

[รูท] LiveBootผู้พัฒนา: โซ่ไฟ

ราคา: ฟรี

4.2.

ดาวน์โหลด

นี่คือวิธีที่คุณสามารถรวบรวมบันทึกบน Android หากคุณกำลังมองหาวิธีเข้าถึงรูทบนโทรศัพท์ Android ของคุณ โปรดดูคำแนะนำโดยละเอียดเกี่ยวกับ วิธีรูทโทรศัพท์ของคุณ.