تسجيل تقارير الأخطاء وقراءتها

يحتوي تقرير الأخطاء على سجلّات الجهاز وعمليات تتبُّع تسلسل استدعاء الدوال البرمجية وبيانات تشخيص أخرى. المعلومات لمساعدتك في العثور على الأخطاء في تطبيقك وإصلاحها. لالتقاط صورة لخطأ من جهازك، استخدم مطوّر برامج إعداد تقرير بالأخطاء على الجهاز، وقائمة محاكي Android، أو استخدام الأمر adb bugreport على جهاز التطوير

الشكل 1. خيارات المطوّر على الجهاز

لتسجيل تقرير خطأ، يجب أن يكون لديك تم تفعيل خيارات المطوّرين في الجهاز للوصول إلى خيار إعداد تقرير بالأخطاء.

تسجيل تقرير خطأ من الجهاز

الشكل 2. تقرير الأخطاء جاهز.

للحصول على تقرير خطأ من جهازك مباشرةً، يمكنك إجراء ما يلي:

  1. تفعيل المطوّر الخيارات.
  2. في خيارات المطوّرين، انقر على إعداد تقرير بالأخطاء.
  3. اختَر نوع تقرير الخطأ الذي تريده وانقر على إبلاغ.

    بعد لحظات، ستتلقّى إشعارًا بأنّ تقرير الخطأ جاهز، كما هو موضح في الشكل 2.

  4. لمشاركة تقرير الخطأ، انقر على الإشعار.

تسجيل تقرير خطأ من محاكي Android

من "محاكي Android"، يمكنك استخدام الزر الإبلاغ عن خطأ. في عناصر التحكّم الموسّعة:

  1. انقر على رمز المزيد في لوحة المحاكي.
  2. في نافذة عناصر التحكّم الموسَّعة، اختَر تقرير الأخطاء.

    سيؤدي ذلك إلى فتح شاشة يمكنك فيها الاطّلاع على تفاصيل تقرير الأخطاء، مثل لقطة شاشة ومعلومات إعداد متوسّط مدة المشاهدة وسجلّ تقرير الخطأ. يمكنك أيضًا كتابة رسالة تتضمن خطوات إعادة الإنتاج لحفظها مع التقرير.

  3. انتظِر حتى ينتهي جمع تقرير الأخطاء، ثم انقر على حفظ التقرير.

تسجيل تقرير خطأ باستخدام adb

إذا كان لديك جهاز واحد فقط متصل، يمكنك الحصول على تقرير خطأ باستخدام adb، على النحو التالي:

$ adb bugreport E:\Reports\MyBugReports

إذا لم تحدّد مسارًا لتقرير الخطأ، سيتم حفظه في الدليل المحلي.

إذا كانت لديك أجهزة متعددة متصلة، يجب تحديد الجهاز باستخدام الخيار -s. شغِّل أوامر adb التالية من أجل: الحصول على الرقم التسلسلي للجهاز وإنشاء تقرير الخطأ:

$ adb devices
List of devices attached
emulator-5554      device
8XV7N15C31003476 device

$ adb -s 8XV7N15C31003476 bugreport

حفظ تقرير خطأ قديم

يتم حفظ تقارير الأخطاء تلقائيًا على /bugreports ويمكن الاطّلاع عليها باستخدام الأمر التالي:

$ adb shell ls /bugreports/
bugreport-foo-bar.xxx.YYYY-MM-DD-HH-MM-SS-dumpstate_log-yyy.txt
bugreport-foo-bar.xxx.YYYY-MM-DD-HH-MM-SS.zip
dumpstate-stats.txt

يمكنك بعد ذلك سحب ملف ZIP من خلال adb pull:

$ adb pull /bugreports/bugreport-foo-bar.xxx.YYYY-MM-DD-HH-MM-SS.zip

فحص ملف ZIP لتقرير الخطأ

وبشكل افتراضي، يسمى ملف ZIP bugreport-BUILD_ID-DATE.zip ملف ZIP يمكن أن يحتوي على ملفات متعددة، ولكن الملف الأهم bugreport-BUILD_ID-DATE.txt هذا النمط وهو تقرير الخطأ، الذي يحتوي على مخرجات بيانات التشخيص لخدمات النظام (dumpsys) وسجلات الأخطاء (dumpstate) وسجلات رسائل النظام (logcat). تتضمَّن رسائل النظام عمليات تتبُّع تسلسل استدعاء الدوال البرمجية. عندما يعرض الجهاز رسالة خطأ ورسائل مكتوبة من جميع التطبيقات الصف Log.

يحتوي ملف ZIP على ملف بيانات وصفية version.txt يحتوي على خطاب إصدار Android. عند تمكين systrace، يتم أيضًا يحتوي على ملف systrace.txt. تشير رسالة الأشكال البيانية أداة النظام الأساسي يساعد في تحليل أداء تطبيقك من خلال تسجيل وعرض أوقات تنفيذ وعمليات التطبيق وعمليات نظام Android الأخرى.

تنسخ أداة dumpstate الملفات من نظام الملفات في الجهاز. في ملف ZIP ضمن المجلد "FS" كي تتمكّن من الرجوع إليها. على سبيل المثال: ملف /dirA/dirB/fileC في الجهاز إلى إنشاء إدخال FS/dirA/dirB/fileC في ملف ZIP.

الشكل 3. بنية ملف تقرير الأخطاء.

لمزيد من المعلومات، يُرجى مراجعة قراءة تقارير الأخطاء

الحصول على تقارير من المستخدمين

تساعدك ميزة تسجيل تقارير الأخطاء أثناء استخدام التطبيق بنفسك، ولكن لا يمكن للمستخدمين النهائيين مشاركة هذه الأنواع من تقارير الأخطاء بسهولة معك بسهولة. للحصول على تقارير الأعطال باستخدام عمليات تتبُّع تسلسل استدعاء الدوال البرمجية من المستخدمين الفعليين، الاستفادة من تقارير الأعطال في Google Play وFirebase الجديدة.

Google Play Console

يمكنك الحصول على التقارير من Google Play Console لعرض بيانات الأعطال وعدم أخطاء الاستجابة (ANR) من المستخدمين الذين ثبّتوا تطبيقك من Google Play. تتوفّر البيانات من الأشهر الستة السابقة.

لمزيد من المعلومات، يُرجى مراجعة عرض حالات الأعطال وأخطاء "التطبيق لا يستجيب" (ANR) في مركز مساعدة Play Console

تقارير الأعطال في Firebase

يُنشئ إعداد تقارير Firebase Crashlytics تقارير تفصيلية للأخطاء في التطبيق. يتم تجميع الأخطاء في مشاكل استنادًا إلى عمليات تتبُّع تسلسل استدعاء الدوال البرمجية المتشابهة مرتبة حسب شدة التأثير على المستخدمين. بالإضافة إلى التحديثات التلقائية يمكنك تسجيل أحداث مخصصة للمساعدة في تسجيل الخطوات التي تؤدي إلى العطل.

لبدء تلقي تقارير الأعطال من أي مستخدم، أضف اعتماديات Firebase إلى ملف build.gradle. لمزيد من المعلومات، يُرجى مراجعة أداة Firebase Crashlytics