گزارش های اشکال را ضبط و بخوانید

گزارش اشکال حاوی گزارش‌های دستگاه، ردیابی پشته‌ای و سایر اطلاعات تشخیصی است که به شما کمک می‌کند تا باگ‌ها را در برنامه خود پیدا کرده و برطرف کنید. برای گرفتن گزارش اشکال از دستگاه خود، از گزینه Take bug report developer در دستگاه، منوی شبیه ساز Android یا دستور adb bugreport در دستگاه توسعه خود استفاده کنید.

شکل 1. گزینه های برنامه نویس در یک دستگاه.

برای گزارش اشکال، باید گزینه‌های برنامه‌نویس را در دستگاه خود فعال کنید تا به گزینه گزارش اشکال دسترسی داشته باشید.

گزارش اشکال را از دستگاه ضبط کنید

شکل 2. گزارش اشکال آماده است.

برای دریافت گزارش باگ مستقیماً از دستگاه خود، موارد زیر را انجام دهید:

  1. گزینه های برنامه نویس را فعال کنید.
  2. در گزینه‌های برنامه‌نویس ، روی Take report bug ضربه بزنید.
  3. نوع گزارش اشکال مورد نظر خود را انتخاب کنید و روی گزارش ضربه بزنید.

    پس از مدتی، همانطور که در شکل 2 نشان داده شده است، یک اعلان دریافت می کنید که گزارش اشکال آماده است.

  4. برای اشتراک‌گذاری گزارش اشکال، روی اعلان ضربه بزنید.

یک گزارش باگ از شبیه ساز اندروید بگیرید

از شبیه ساز اندروید، می توانید از ویژگی File a bug در کنترل های توسعه یافته استفاده کنید:

  1. بیشتر کلیک کنیددر پنل شبیه ساز
  2. در پنجره Extended Controls ، گزارش اشکال را انتخاب کنید.

    با این کار صفحه‌ای باز می‌شود که در آن می‌توانید جزئیات گزارش اشکال، مانند عکس صفحه، اطلاعات پیکربندی AVD و گزارش گزارش اشکال را ببینید. همچنین می‌توانید پیامی با مراحل بازتولید برای ذخیره با گزارش تایپ کنید.

  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

سپس می توانید فایل فشرده را از طریق adb pull بکشید:

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

فایل فشرده گزارش اشکال را بررسی کنید

به طور پیش فرض، فایل فشرده به نام bugreport- BUILD_ID - DATE .zip است. فایل فشرده می تواند چندین فایل داشته باشد، اما مهمترین فایل bugreport- BUILD_ID - DATE .txt است. این گزارش اشکال است که حاوی خروجی تشخیصی برای سرویس‌های سیستم ( dumpsys )، گزارش‌های خطا ( dumpstate ) و گزارش‌های پیام سیستم ( logcat ) است. پیام‌های سیستم شامل ردیابی‌های پشته‌ای زمانی که دستگاه خطا می‌دهد و پیام‌هایی که از همه برنامه‌های دارای کلاس Log نوشته می‌شوند، می‌شوند.

فایل فشرده حاوی یک فایل فراداده version.txt است که حاوی نامه انتشار Android است. هنگامی که systrace فعال است، فایل فشرده حاوی یک فایل systrace.txt نیز می باشد. ابزار Systrace به تجزیه و تحلیل عملکرد برنامه شما با ضبط و نمایش زمان های اجرای فرآیندهای برنامه شما و سایر فرآیندهای سیستم اندروید کمک می کند.

ابزار dumpstate فایل‌ها را از سیستم فایل دستگاه در فایل فشرده زیر پوشه FS کپی می‌کند تا بتوانید به آنها ارجاع دهید. به عنوان مثال، یک فایل /dirA/dirB/fileC در دستگاه یک ورودی FS/dirA/dirB/fileC در فایل فشرده ایجاد می کند.

شکل 3. ساختار فایل گزارش اشکال.

برای اطلاعات بیشتر، خواندن گزارش‌های اشکال را ببینید.

از کاربران خود گزارش دریافت کنید

گرفتن گزارش اشکال مفید است زیرا شما خودتان از برنامه استفاده می کنید، اما کاربران نهایی شما نمی توانند به راحتی این نوع گزارش های اشکال را با شما به اشتراک بگذارند. برای دریافت گزارش‌های خرابی با ردیابی پشته از کاربران واقعی، از ویژگی‌های گزارش خرابی Google Play و Firebase استفاده کنید.

کنسول Google Play

می‌توانید گزارش‌هایی را از کنسول Google Play دریافت کنید تا داده‌های مربوط به خرابی‌ها و خطاهای عدم پاسخگویی برنامه (ANR) را از کاربرانی که برنامه شما را از Google Play نصب کرده‌اند، مشاهده کنید. اطلاعات مربوط به شش ماه قبل در دسترس است.

برای اطلاعات بیشتر، مشاهده خرابی‌ها و خطاهای عدم پاسخگویی برنامه (ANR) را در راهنمای Play Console ببینید.

گزارش خرابی Firebase

گزارش Firebase Crashlytics گزارش‌های دقیقی از خطاهای برنامه شما ایجاد می‌کند. خطاها بر اساس ردیابی پشته های مشابه به مسائل گروه بندی می شوند و بر اساس شدت تأثیر بر کاربران شما تریاژ می شوند. علاوه بر گزارش‌های خودکار، می‌توانید رویدادهای سفارشی را ثبت کنید تا به ثبت مراحل منجر به خرابی کمک کنید.

برای شروع دریافت گزارش‌های خرابی از هر کاربری، وابستگی‌های Firebase را به فایل build.gradle خود اضافه کنید. برای اطلاعات بیشتر، Firebase Crashlytics را ببینید.