تحليل تتبُّع تسلسل استدعاء الدوال البرمجية

يتطلب تصحيح أخطاء التطبيق غالبًا استخدام عمليات تتبع تسلسل استدعاء الدوال البرمجية. يتم إنشاء تتبُّع تسلسل استدعاء الدوال البرمجية عند تعطُّل تطبيقك بسبب خطأ أو استثناء. يمكنك أيضًا طباعة تقرير تتبُّع تسلسل استدعاء الدوال البرمجية في أي نقطة في رمز تطبيقك باستخدام طرق مثل Thread.dumpStack().

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

الشكل 1. عملية تتبُّع تسلسل استدعاء الدوال البرمجية في Logcat

انقر على أسماء الملفات التي تم تمييزها لفتح الملفات وفحص مصدر طريقة استدعاء الطريقة. انقر على الزرَّين أعلى تتبُّع تسلسل استدعاء الدوال البرمجية والسهم المتّجه للأسفل ضمن تقرير تتبُّع تسلسل استدعاء الدوال البرمجية للتنقل سريعًا بين خطوط تتبُّع تسلسل استدعاء الدوال البرمجية المعروضة في نافذة Logcat.

فتح تقرير تتبُّع تسلسل استدعاء الدوال البرمجية من مصادر خارجية

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

  1. افتح مشروعك في "استوديو Android".

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

  2. من القائمة تحليل، انقر على تحليل تسلسل استدعاء الدوال البرمجية.

    تحليل نافذة "تتبُّع تسلسل استدعاء الدوال البرمجية"

    الشكل 2. نافذة تحليل تسلسل استدعاء الدوال البرمجية

  3. الصِق نص تتبُّع تسلسل استدعاء الدوال البرمجية في نافذة Analyze Stacktrace، ثم انقر على OK (حسنًا).

سيفتح "استوديو Android" علامة تبويب <Stacktrace> جديدة، كما تظهر في الشكل 3، مع تتبُّع تسلسل استدعاء الدوال البرمجية الذي لصقته ضمن نافذة Run (تشغيل).

نافذة تتبُّع تسلسل استدعاء الدوال البرمجية

الشكل 3. علامة التبويب <Stacktrace> في "استوديو Android".

مراقبة الحافظة بحثًا عن عمليات تتبُّع تسلسل استدعاء الدوال البرمجية الجديدة

لتحسين إنتاجيتك إذا كنت تستخدم بشكل متكرّر عمليات تتبُّع تسلسل استدعاء الدوال البرمجية خارجيًا، يمكنك السماح لاستوديو Android بمراقبة حافظة النظام باستمرار بحثًا عن عمليات تتبُّع تسلسل استدعاء الدوال البرمجية الجديدة. لإجراء ذلك، يُرجى اتّباع الخطوات التالية:

  1. افتح أداة تحليل تسلسل استدعاء الدوال البرمجية.
  2. ضَع علامة في مربّع الاختيار الاكتشاف التلقائي لعمليات تفريغ سلاسل المحادثات التي تم نسخها إلى الحافظة خارج IntelliJ IDEA وتحليلها.
  3. يمكنك نسخ تتبُّع تسلسل استدعاء الدوال البرمجية في تطبيق آخر، مثل متصفِّح ويب، إلى حافظة النظام.

عند الرجوع إلى نافذة "استوديو Android"، يتم فتح تقرير تتبُّع تسلسل استدعاء الدوال البرمجية تلقائيًا ضمن نافذة التشغيل، وبذلك لا تحتاج إلى لصقه في نافذة تحليل تسلسل استدعاء الدوال البرمجية.