تحليل تتبُّع تسلسل استدعاء الدوال البرمجية
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
يتطلب تصحيح أخطاء التطبيق غالبًا استخدام عمليات تتبع تسلسل استدعاء الدوال البرمجية. يتم إنشاء تتبُّع تسلسل استدعاء الدوال البرمجية عند
تعطُّل تطبيقك بسبب خطأ أو استثناء. يمكنك أيضًا طباعة تقرير تتبُّع تسلسل استدعاء الدوال البرمجية في أي
نقطة في رمز تطبيقك باستخدام طرق مثل
Thread.dumpStack()
.
أثناء تشغيل تطبيقك في وضع تصحيح الأخطاء على جهاز متصل، يطبع "استوديو Android"
ويميز تتبُّع تسلسل استدعاء الدوال البرمجية في عرض Logcat، كما هو موضّح في
الشكل 1. يعرض تقرير تتبُّع تسلسل استدعاء الدوال البرمجية قائمة باستدعاءات الطرق التي تؤدي إلى طرح الاستثناء، بالإضافة إلى أسماء الملفات وأرقام الأسطر التي حدثت فيها الطلبات.
الشكل 1. عملية تتبُّع تسلسل استدعاء الدوال البرمجية في Logcat
انقر على أسماء الملفات التي تم تمييزها لفتح الملفات وفحص مصدر
طريقة استدعاء الطريقة. انقر على الزرَّين أعلى تتبُّع تسلسل استدعاء الدوال البرمجية
والسهم المتّجه للأسفل ضمن تقرير تتبُّع تسلسل استدعاء الدوال البرمجية
للتنقل سريعًا بين خطوط تتبُّع تسلسل استدعاء الدوال البرمجية المعروضة
في نافذة Logcat.
فتح تقرير تتبُّع تسلسل استدعاء الدوال البرمجية من مصادر خارجية
قد تحتاج أحيانًا إلى تحليل عمليات تتبُّع تسلسل استدعاء الدوال البرمجية التي تمت مشاركتها في تقرير خطأ، بدلاً من تلك التي عثرت عليها أثناء تصحيح الأخطاء. لتحليل البيانات من Firebase Crashlytics، استخدِم نافذة أداة إحصاءات جودة التطبيقات. لتحليل البيانات من مصادر أخرى، مثل بيانات تتبُّع تسلسل استدعاء الدوال البرمجية التي تم إنشاؤها على أجهزة المستخدمين من خلال Google Play Console، يُرجى اتّباع الخطوات التالية:
-
افتح مشروعك في "استوديو Android".
ملاحظة: تأكّد من أنّ رمز المصدر الذي تعرضه من الإصدار نفسه من تطبيقك الذي أنشأ تتبُّع تسلسل استدعاء الدوال البرمجية. وإذا كان الرمز مختلفًا، ستظهر
حالات عدم تطابق بين أسماء الملفات وأرقام الأسطر أو ترتيب الطلبات في تقرير تتبُّع تسلسل استدعاء الدوال البرمجية
ومشروعك.
-
من القائمة تحليل، انقر على تحليل تسلسل استدعاء الدوال البرمجية.
الشكل 2. نافذة تحليل تسلسل استدعاء الدوال البرمجية
-
الصِق نص تتبُّع تسلسل استدعاء الدوال البرمجية في نافذة Analyze Stacktrace، ثم انقر على OK (حسنًا).
سيفتح "استوديو Android" علامة تبويب <Stacktrace> جديدة، كما تظهر في الشكل 3، مع
تتبُّع تسلسل استدعاء الدوال البرمجية الذي لصقته ضمن نافذة Run (تشغيل).
الشكل 3. علامة التبويب <Stacktrace> في "استوديو Android".
مراقبة الحافظة بحثًا عن عمليات تتبُّع تسلسل استدعاء الدوال البرمجية الجديدة
لتحسين إنتاجيتك إذا كنت تستخدم بشكل متكرّر عمليات تتبُّع تسلسل استدعاء الدوال البرمجية خارجيًا، يمكنك السماح لاستوديو Android
بمراقبة حافظة النظام باستمرار بحثًا عن عمليات تتبُّع تسلسل استدعاء الدوال البرمجية الجديدة. لإجراء ذلك، يُرجى اتّباع الخطوات التالية:
-
افتح أداة تحليل تسلسل استدعاء الدوال البرمجية.
-
ضَع علامة في مربّع الاختيار الاكتشاف التلقائي لعمليات تفريغ سلاسل المحادثات التي تم نسخها إلى الحافظة خارج
IntelliJ IDEA وتحليلها.
-
يمكنك نسخ تتبُّع تسلسل استدعاء الدوال البرمجية في تطبيق آخر، مثل متصفِّح ويب، إلى حافظة النظام.
عند الرجوع إلى نافذة "استوديو Android"، يتم فتح تقرير تتبُّع تسلسل استدعاء الدوال البرمجية تلقائيًا ضمن نافذة التشغيل، وبذلك لا تحتاج إلى لصقه في نافذة تحليل تسلسل استدعاء الدوال البرمجية.
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.
تاريخ التعديل الأخير: 2023-09-25 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","easyToUnderstand","thumb-up"],["ساعَدني المحتوى في حلّ مشكلتي.","solvedMyProblem","thumb-up"],["غير ذلك","otherUp","thumb-up"]],[["لا يحتوي على المعلومات التي أحتاج إليها.","missingTheInformationINeed","thumb-down"],["الخطوات معقدة للغاية / كثيرة جدًا.","tooComplicatedTooManySteps","thumb-down"],["المحتوى قديم.","outOfDate","thumb-down"],["ثمة مشكلة في الترجمة.","translationIssue","thumb-down"],["مشكلة في العيّنات / التعليمات البرمجية","samplesCodeIssue","thumb-down"],["غير ذلك","otherDown","thumb-down"]],["تاريخ التعديل الأخير: 2023-09-25 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],null,["# Analyze a stack trace\n\nDebugging an app often requires working with stack traces. A stack trace generates when\nyour app crashes because of an error or an exception. You can also print a stack trace at any\npoint in your app code using methods such as\n[`Thread.dumpStack()`](/reference/java/lang/Thread#dumpStack()).\n\n\nWhile your app is running in debug mode on a connected device, Android Studio prints\nand highlights stack traces in the **Logcat** view, as shown in\nfigure 1. A stack trace shows a list of method calls that lead to the exception being thrown,\ntogether with the filenames and line numbers where the calls happened.\n\n**Figure 1.** A stack trace in Logcat.\n\n\nClick on the highlighted filenames to open the files and examine the source of the method\ninvocation. Click the **Up the stack trace**\nand **Down the stack trace** buttons to quickly move between stack trace lines displayed\nin the **Logcat** window.\n\nOpen stack traces from external sources\n---------------------------------------\n\n\nSometimes you want to analyze stack traces shared in a bug report instead of those you found\nwhile debugging. To analyze data from\n[Firebase Crashlytics](https://firebase.google.com/products/crashlytics), use the\n[**App Quality Insights**](/studio/debug/app-quality-insights) tool\nwindow. To analyze data from other sources, for example stack traces generated on your users'\ndevices from the Google Play Console, follow these steps:\n\n1. Open your project in Android Studio.\n\n\n **Note:** Make sure the source code you're viewing is from the same\n version of your app that generated the stack trace. If the code is different, you will\n get mismatches between the filenames and line numbers or the order of calls in the stack\n trace and your project.\n2. From the **Analyze** menu, click **Analyze Stacktrace** .\n\n\n **Figure 2.** Analyze Stacktrace window.\n\n \u003cbr /\u003e\n\n3. Paste the stack trace text into the **Analyze Stacktrace** window and click **OK**.\n\nAndroid Studio opens a new **\\\u003cStacktrace\\\u003e** tab, shown in figure 3, with the\nstack trace you pasted under the **Run** window.\n\n\n**Figure 3.** **\\\u003cStacktrace\\\u003e** tab in Android Studio.\n\n\u003cbr /\u003e\n\nMonitor the clipboard for new stack traces\n------------------------------------------\n\n\nTo improve your productivity if you frequently work with external stack traces, you can let Android\nStudio continuously monitor the system clipboard for new stack traces. To do so, follow these\nsteps:\n\n1. Open the **Analyze Stacktrace** tool.\n2. Select the **Automatically detect and analyze thread dumps copied to the clipboard outside\n of IntelliJ IDEA** checkbox.\n3. Copy a stack trace in another application, such as a web browser, to the system clipboard.\n\nWhen you return to the Android Studio window, the stack trace opens automatically under the\n**Run** window, so you don't have to paste it into the **Analyze\nStacktrace** window."]]