รายงานข้อบกพร่อง

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

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

วิธีรายงานข้อบกพร่อง

ในการรายงานข้อบกพร่อง ให้ทำตามขั้นตอนต่อไปนี้

  1. หากต้องการเปิดรายงานข้อบกพร่องจาก Android Studio ให้เลือก ความช่วยเหลือ > ส่งความคิดเห็น

    วิธีนี้เป็นวิธีที่ง่ายที่สุดในการเริ่มต้นข้อบกพร่อง เนื่องจากระบบจะสร้างรายงานข้อบกพร่อง เวอร์ชัน Android Studio, เวอร์ชัน Kotlin หรือ Java และระบบ ข้อมูล ซึ่งจำเป็นต่อการสร้างปัญหาซ้ำอย่างถูกต้อง

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

  2. แนบรายงานการวินิจฉัยเพื่อให้เราแก้ไขข้อบกพร่องของคุณได้ วิธีสร้าง ไฟล์ ZIP รายงานการวินิจฉัย ให้คลิกความช่วยเหลือ > รวบรวมบันทึกและข้อมูลการวินิจฉัย

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

  4. อธิบายปัญหาอย่างละเอียด อธิบายผลลัพธ์ที่คุณคาดหวัง และสิ่งที่คุณสังเกตเห็น

  5. เลือกชื่อที่สื่อความหมายสำหรับรายงานข้อบกพร่อง ใช้คำอธิบายที่ชัดเจนขึ้น ทำให้จัดเรียงตามปัญหาได้ง่ายขึ้น

สำหรับข้อบกพร่องบางอย่าง เราต้องการข้อมูลเพิ่มเติมตามที่อธิบายไว้ใน ส่วนต่อไปนี้

รายละเอียดสำหรับข้อบกพร่องของ Android Studio

หากต้องการรายงานข้อบกพร่องของ Android Studio โดยเฉพาะ โปรดระบุข้อมูลเพิ่มเติม ตามที่อธิบายไว้ในส่วนนี้

หาก IDE ค้าง

หาก IDE เองดูเหมือนทำงานช้ามากหรือค้างทั้งหมด สร้าง Thread Dump หลายรายการตามที่อธิบายไว้ในหน้านี้ และแนบมากับรายงานข้อบกพร่อง เทรดดัมพ์จะแสดงว่า IDE กำลังทำอะไรอยู่ ที่ทำให้มันทำงานช้าลง

หาก IDE ทำงานช้า แต่ไม่ค้าง ให้แนบไฟล์ idea.log ไปกับข้อบกพร่อง รายงาน หากต้องการแนบไฟล์ ให้เลือก ความช่วยเหลือ > รวบรวมบันทึกและข้อมูลการวินิจฉัย หรือ ความช่วยเหลือ > แสดงไฟล์การเข้าสู่ระบบ (ความช่วยเหลือ > แสดงเครื่องมือค้นหาการเข้าสู่ระบบบน macOS) ไฟล์นี้แสดงให้เห็นว่า IDE แสดงข้อผิดพลาดในบันทึกหรือไม่

ใช้โปรไฟล์ CPU เพื่อวิเคราะห์การทำงานช้า

หากคุณพบปัญหาการทำงานช้าใน Android Studio โปรไฟล์ CPU สามารถ ในบางครั้งจะช่วยวินิจฉัยปัญหาได้

ทำตามขั้นตอนต่อไปนี้เพื่อจับภาพโปรไฟล์ CPU โดยใช้ Android Studio ปลั๊กอินการทดสอบประสิทธิภาพ:

  1. ติดตั้งปลั๊กอิน

    • ใน Android Studio ให้ค้นหา "การทดสอบประสิทธิภาพ" ในปลั๊กอิน ในมาร์เก็ตเพลส
    • หรือคุณจะดาวน์โหลดเวอร์ชันที่ใช้งานได้กับ Android Studio ก็ได้ จากเว็บไซต์ปลั๊กอิน
  2. สร้างโปรไฟล์ CPU

    1. เมื่อดูเหมือนว่า Android Studio ทำงานช้า ให้เลือกเริ่มใช้ CPU การทำโปรไฟล์
    2. ดำเนินการ 2-3 อย่างที่เวลาในการตอบสนองทำให้เกิดปัญหา (เมื่อเขียนโค้ดเสร็จ พิมพ์และรอให้ไฮไลต์เสร็จ เป็นต้น)
    3. คลิกหยุดการทำโปรไฟล์การใช้งาน CPU
  3. แชร์ไฟล์โปรไฟล์

    บอลลูนจะปรากฏขึ้นพร้อมชื่อไฟล์สแนปชอตของ CPU ใช้รูปแบบ snapshot-NNN แชร์ไฟล์สแนปชอตนั้นใน รายงานข้อบกพร่อง

หาก IDE ไม่มีหน่วยความจำ

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

เรียกใช้รายงานการใช้งานหน่วยความจำ

หากต้องการเรียกใช้รายงานการใช้หน่วยความจำ ให้ทำตามขั้นตอนต่อไปนี้

  1. คลิกความช่วยเหลือ > วิเคราะห์การใช้งานหน่วยความจำจากแถบเมนู

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

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

    ก่อนที่คุณจะส่งรายงาน คุณสามารถตรวจสอบข้อมูลที่ รวม:

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

    การส่งข้อมูลรายงานด้วยวิธีนี้จะทำให้ Android Studio ในการสื่อสารกับคุณโดยใช้เครื่องมือติดตามปัญหาในระหว่างที่ตรวจสอบ หน่วยความจำมีปัญหา

หาก IDE ขัดข้องหรือมีการส่งข้อยกเว้น

สำหรับข้อขัดข้องประเภทอื่นๆ ให้แนบไฟล์ idea.log ที่พบโดยการเลือก ความช่วยเหลือ > รวบรวมบันทึกและข้อมูลการวินิจฉัย หรือ ความช่วยเหลือ > แสดงไฟล์การเข้าสู่ระบบ (ความช่วยเหลือ > แสดงเครื่องมือค้นหาบันทึกใน macOS)

สร้างเทรดดัมพ์

Thread Dump คือการพิมพ์เทรดทั้งหมดที่ทำงานอยู่ใน JVM สำหรับแต่ละรายการ เทรด ไฟล์ดังกล่าวจะรวมถึงสแต็กเฟรมที่พิมพ์ออกมาทั้งหมด วิธีนี้จะช่วยให้เห็นว่า IDE กำลังทำอะไรอยู่ โดยเฉพาะอย่างยิ่งหากคุณสร้าง เทรดจะทิ้งห่างกัน 2-3 วินาที

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

JDK มาพร้อมกับเครื่องมือชื่อ jstack ที่สามารถใช้เพื่อสร้าง เทรดดัมพ์ ก่อนอื่นให้หารหัสกระบวนการ (PID) ของกระบวนการใน Android Studio โดยใช้คำสั่ง jps ดังนี้

ใน Linux หรือ macOS ให้ทำดังนี้

jps -mv | grep studio

บน Windows:

jps -mv | findstr studio

ซึ่งจะพิมพ์บรรทัดยาวๆ เช่น

$ jps -mv | grep studio
37605 -Dfile.encoding=UTF-8 -ea -Dsun.io.useCanonCaches=false -Djava.net.preferIPv4Stack=true -Djna.nosys=true ...

ตัวเลขแรก (ในตัวอย่างนี้คือ 37605) คือรหัสกระบวนการ

จากนั้น ให้สร้างเทรดดัมพ์และบันทึกลงในไฟล์ dump.txt ดังนี้

jstack -l pid >> dump.txt

หากไม่ได้ผล ก็มีวิธีอื่นๆ สำหรับแพลตฟอร์มโดยเฉพาะ จะสร้างเทรดดัมพ์ได้ ดูวิธีการโดยละเอียดได้ที่ ฝ่ายสนับสนุนของ IntelliJ

รายละเอียดสำหรับเครื่องมือสร้างและข้อบกพร่องของ Gradle

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

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

  • เวอร์ชันปลั๊กอิน Android Gradle

    1. เลือก ไฟล์ > โครงสร้างของโครงการ
    2. คลิกโปรเจ็กต์
    3. ค้นหาเวอร์ชันปลั๊กอิน Android Gradle
  • เวอร์ชัน Gradle:

    1. เลือก ไฟล์ > โครงสร้างของโครงการ
    2. คลิกโปรเจ็กต์
    3. ค้นหาเวอร์ชัน Gradle
  • เวอร์ชัน Android Studio:

    1. เลือกความช่วยเหลือ > เกี่ยวกับ
    2. ค้นหาเวอร์ชัน Android Studio

และโปรดระบุข้อมูลต่อไปนี้ด้วย (หากมี)

  • หากลักษณะการทำงานเปลี่ยนจากเวอร์ชันก่อนหน้าเป็นเวอร์ชันก่อนหน้าโดยไม่คาดคิด ฉบับปัจจุบัน ให้ระบุทั้ง 2 ฉบับ
  • หากบิลด์ล้มเหลวโดยมีข้อผิดพลาด ให้เรียกใช้บิลด์จากบรรทัดคำสั่ง ที่มีตัวเลือก --stacktrace (เช่น ./gradlew <task> --stacktrace) และระบุสแต็กเทรซในรายงานข้อบกพร่อง
  • หากการสร้างใช้เวลานานกว่าที่คาดไว้ ให้ลองใช้วิธีใดวิธีหนึ่งต่อไปนี้
    • เรียกใช้ ./gradlew <task> --scan และแชร์ การสแกนบิลด์ Gradle ในข้อบกพร่อง รายงาน
    • เรียกใช้ ./gradlew <task> -Pandroid.enableProfileJson=true และแชร์ การติดตาม Chrome ไฟล์ที่สร้างขึ้นภายใต้ไดเรกทอรี <root-project>/build/android-profile

รายละเอียดข้อบกพร่องของโปรแกรมจำลอง Android

ทำตามขั้นตอนต่อไปนี้เพื่อใช้ตัวควบคุมแบบขยายของโปรแกรมจำลองในการรวบรวมข้อมูล และรายงานข้อบกพร่อง

  1. ในแผงโปรแกรมจำลอง ให้คลิกเพิ่มเติม
  2. เลือกรายงานข้อบกพร่องในหน้าต่างการควบคุมเพิ่มเติม

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

  3. รอให้รายงานข้อบกพร่องเสร็จสมบูรณ์ จากนั้น ให้คลิกส่งไปยัง Google

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

  4. ในรายงาน ให้กรอกรายละเอียดที่เหลือทั้งหมด เช่น ขั้นตอนในการ โปรดสร้างข้อบกพร่องซ้ำ และแนบไฟล์ที่บันทึกไว้เมื่อสร้างข้อบกพร่อง รายงาน

หรือป้อนรายละเอียดต่อไปนี้ด้วยตนเอง

  • เวอร์ชันโปรแกรมจำลอง

    1. ในโปรแกรมจําลอง ให้เปิดการควบคุมเพิ่มเติม
    2. คลิกความช่วยเหลือ
    3. คลิกแท็บเกี่ยวกับเพื่อดูเวอร์ชันโปรแกรมจำลอง
  • เวอร์ชันของเครื่องมือ Android SDK

    1. เลือกเครื่องมือ > SDK Manager
    2. คลิกเครื่องมือ SDK
    3. ค้นหาเครื่องมือ Android SDK
  • รุ่น CPU ของโฮสต์

    • ใน Linux: เปิด /proc/cpuinfo
    • ใน Windows: คลิกขวาที่ My Computer แล้วเลือก Properties
    • ใน macOS: เลือกไอคอน Apple แล้วคลิกเกี่ยวกับ Mac เครื่องนี้
  • ชื่ออุปกรณ์

    1. จาก AVD Manager ให้คลิกเพื่อเปิดเมนูในการดำเนินการ สำหรับอุปกรณ์
    2. เลือกดูรายละเอียด (หรือ เปิดไฟล์ $avdname.avd/config.ini)
    3. ค้นหารายการสำหรับ hw.device.name สำหรับ ตัวอย่าง: hw.device.name=Nexus 5