คำแนะนำ: การส่ง Logcat เพื่อช่วยดีบักแอปโปรดของคุณ

click fraud protection

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

ชาวโครเอเชียโบกธงสหภาพยุโรป ขณะเฉลิมฉลองการที่โครเอเชียเข้าสู่สหภาพยุโรป ที่จัตุรัส Ban Jelesic ในเมืองซาเกร็บ เมื่อวันที่ 30 มิถุนายน 2556 ชาวโครเอเชียหลายหมื่นคนให้กำลังใจประเทศที่เข้าสู่สหภาพยุโรปในเวลาเที่ยงคืนของวันอาทิตย์ (22.00 GMT. GMT) เกือบสองทศวรรษหลังจากสงครามประกาศเอกราชนองเลือดของอดีตสาธารณรัฐยูโกสลาเวียสิ้นสุดลง เอเอฟพี โฟโต้ / สตริงเกอร์

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

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

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


Logcat คืออะไร และเราจะดึงมันออกมาได้อย่างไร?

Logcat เป็นเครื่องมือ ADB Shell ที่ใช้ในการดึงบันทึกเหตุการณ์ของระบบทั้งหมด ซึ่งรวมถึงข้อผิดพลาด คำเตือน การติดตามสแต็ก และเหตุการณ์ทั่วไปของระบบ เมื่อเกิดข้อผิดพลาด ข้อมูลสำคัญที่ชี้ไปยังแหล่งที่มาของความล้มเหลวจะถูกส่งออกผ่านบันทึกนี้ ทำให้เป็นเครื่องมือที่มีประโยชน์มากสำหรับการแก้ไขปัญหา โดยปกติแล้วสิ่งเหล่านี้จะถูกดึงและกรองผ่านคำสั่ง ADB อย่างไรก็ตาม แอพเช่น aLogcat, แค็ตตาล็อกและเครื่องมือที่เราเลือกสำหรับบทความนี้ แมทล็อกได้ช่วยให้ผู้ใช้ประหยัดความพยายามด้วยการรวบรวมเครื่องมือคำสั่งเหล่านี้ลงใน GUI ของแอปที่ดาวน์โหลดได้ใน Play Store

ตามที่กล่าวไว้ Matlog คือสิ่งที่เราใช้ในการรวบรวม Logcats ได้รับเลือกจากอินเทอร์เฟซที่เรียบง่ายแต่ใช้งานง่าย Matlog สร้างขึ้นโดย XDA Junior Member พลัสคิวบ์ และขึ้นอยู่กับ ของโนแลน ลอว์สัน แค็ตตาล็อกแอปโอเพ่นซอร์ส เช่นเดียวกับแคตตาล็อก, Matlog ก็ได้ เรียบเรียงจากแหล่งที่มา, หรือ ดาวน์โหลดได้ฟรีจาก Google Play Store. แม้ว่าการรูทจะทำให้คุณสามารถข้ามขั้นตอนระหว่างการตั้งค่าได้ ไม่จำเป็นต้องเข้าถึงรูทเพื่อรวบรวม Logcats. หากอุปกรณ์ของคุณไม่ได้ถูกรูท คำสั่งเชลล์ ADB เดียวจะให้สิทธิ์แอปพลิเคชันในการเข้าถึงเพื่ออ่านบันทึกของอุปกรณ์ของคุณ ยังไม่ได้ตั้งค่า ADB บนเครื่องของคุณ? ไม่มีปัญหา เพียงทำตามขั้นตอนเหล่านี้เพื่อเริ่มต้นใช้งาน

หมายเหตุ: โทรศัพท์ Huawei ได้ปิดการใช้งานเอาต์พุต Logcat อย่างสมบูรณ์ คุณจะต้องเปลี่ยนการตั้งค่าที่ซ่อนอยู่ ก่อนที่จะดำเนินการตามส่วนที่เหลือของคู่มือนี้


การตั้งค่า ADB

อันดับแรก, ดาวน์โหลดไบนารี ADB โดยตรงจาก Google สำหรับระบบปฏิบัติการเฉพาะของคุณ และแตกไฟล์ไปยังไดเร็กทอรีแยกต่างหากบนคอมพิวเตอร์ของคุณ ต่อไป, ติดตั้งไดรเวอร์ที่เหมาะสม สำหรับโทรศัพท์ของคุณโดยเฉพาะ จากนั้นเปิดใช้งาน "การแก้ไขจุดบกพร่อง USB" ในการตั้งค่า -> ตัวเลือกนักพัฒนา หากคุณไม่เห็นตัวเลือกสำหรับนักพัฒนา คุณจะต้องเปิดใช้งานโดยไปที่การตั้งค่า -> เกี่ยวกับโทรศัพท์ จากนั้นแตะที่หมายเลขบิลด์ 7 ครั้ง สุดท้ายนี้ ตรวจสอบให้แน่ใจว่า ADB ทำงานโดยการเริ่มพรอมต์คำสั่งในไดเร็กทอรีเดียวกันกับไบนารีของ ADB (คลิกขวา --> "เปิดพรอมต์คำสั่งที่นี่") และเรียกใช้คำสั่งต่อไปนี้:

adb devices

หากคุณเห็นหมายเลขซีเรียลของอุปกรณ์ (และไม่ได้ระบุว่าไม่ได้รับอนุญาต) แสดงว่าคุณเป็นสีทอง หากคุณเห็นป๊อปอัปบนโทรศัพท์ขอให้คุณอนุญาตการเข้าถึง ADB ของคอมพิวเตอร์ ให้ตอบว่าใช่ หากคุณไม่เห็นเหตุการณ์ทั้งสองเกิดขึ้น ให้ลองรีบูตคอมพิวเตอร์/โทรศัพท์ของคุณแล้วเสียบเข้ากับคอมพิวเตอร์ของคุณใหม่ มิฉะนั้น ให้ลองติดตั้งไดรเวอร์อีกครั้ง


การตั้งค่า Matlog

ตอนนี้คุณได้เปิดใช้งาน ADB แล้ว (หวังว่า) สิ่งที่คุณต้องทำเพื่อเปิดใช้งานความสามารถในการจับ Logcats ของ Matlog คือการออกคำสั่งต่อไปนี้ในเชลล์ ADB ขอย้ำอีกครั้งว่า หากอุปกรณ์ของคุณได้รับการรูทแล้ว คุณไม่จำเป็นต้องเรียกใช้คำสั่งนี้ เนื่องจากจำเป็นสำหรับโทรศัพท์ที่ไม่ได้รูทเท่านั้น

adbshellpmgrantcom.pluscubed.matlogandroid.permission.READ_LOGS
วิดเจ็ตบันทึก Matlog ควบคู่ไปกับแอปที่ทำงานผิดปกติ

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

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

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

ในตัวอย่างข้างต้น ฉันสามารถบอกได้ว่าสาเหตุที่ Apktool X หยุดทำงานนั้นเป็นเพราะอุปกรณ์ของฉันไม่ได้ทำการรูท โด้! ฉันควรจะได้อย่างเต็มที่ อ่านบทความ ก่อนที่จะลองใช้แอป

นั่นมันง่ายเกินไป

แน่นอนว่าไม่ใช่ทุกประเด็นที่จะเข้าใจได้ง่ายนัก บางครั้งปัญหาเกี่ยวกับการบูทหรือปัญหาที่ขยายออกไปเป็นระยะเวลานานอาจต้องใช้คุณสมบัติที่แตกต่างกันของแอปในการจับภาพ ในกรณีเช่นนี้ คุณจะต้องปล่อยให้ Matlog ทำงานในพื้นหลัง (อย่าหยุดชั่วคราวหรือล้างข้อมูล) และใช้ฟังก์ชัน Log Level และ Filter เพื่อแยกวิเคราะห์ข้อมูล

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

การเลือกระดับบันทึกแสดงข้อผิดพลาดเท่านั้น

ระดับบันทึก

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

จากลำดับความสำคัญต่ำสุดไปสูงสุด:

  • วี: Verbose (เหตุการณ์ระบบทั่วไป)
  • ดี: ดีบัก
  • ฉัน: ข้อมูล
  • : คำเตือน
  • อี: ข้อผิดพลาด
  • เอฟ: ร้ายแรง
  • S: เงียบ (ลำดับความสำคัญสูงสุด ซึ่งไม่เคยพิมพ์อะไรเลย)

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

ชุดตัวกรองการค้นหาสำหรับ “Apktool”

ตัวกรอง

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

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

พร้อมที่จะแก้ไขข้อบกพร่องแล้วหรือยัง?

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


คุณเคยใช้ Matlog หรือแอป Logcat อื่นหรือไม่ คุณพบว่าคู่มือนี้มีประโยชน์หรือไม่ แจ้งให้เราทราบในความคิดเห็นด้านล่าง!