0Pricing
JavaScript Academy · درس

قراءة تتبعات مكدس الاستدعاءات

تتبّعوا الأخطاء وصولًا إلى مصدرها.

قراءة تتبعات مكدس الاستدعاءات درس مجاني في JavaScript Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في JavaScript Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة JavaScript Academy 4 دروس في المجموع.

ما هو تتبع المكدس

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

القراءة من الأعلى إلى الأسفل

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

بنية الإطار

يسمي كل إطار عادةً دالة، ثم الملف ورقم السطر والعمود الذي حدث فيه الاستدعاء. وهذا يحدد الموضع الدقيق.

رسالة الخطأ

يظهر اسم الخطأ ورسالته فوق الإطارات، مثل TypeError الذي يصف ما حدث من خطأ. اقرأ هذا أولًا، إذ إنه يوضح السبب غالبًا.

function getName(user) {
  return user.name
}
// calling getName with undefined would throw a TypeError
console.log("Reading the message tells you what failed")

تتبع سلسلة الاستدعاءات

بقراءة التتبع إلى الأسفل، تعيد بناء التسلسل: أي دالة استدعت أي دالة، وصولًا إلى السطر الذي فشل.

تعليماتك البرمجية مقابل تعليمات المكتبة

غالبًا ما تتضمن التتبعات إطارات من المكتبات. ركّز على أعلى إطار ينتمي إلى ملفاتك المصدرية، إذ يوجد الإصلاح عادةً هناك.

تتبعات المكدس غير المتزامنة

تربط DevTools الاستدعاءات غير المتزامنة الحديثة، فتُظهر السياق الذي بدأ منه الوعد أو المؤقت، وبذلك لا ينقطع التتبع عند الحد الفاصل.

إنشاء تتبع يدويًا

تطبع console.trace مكدس الاستدعاءات الحالي دون إطلاق خطأ، مما يساعدك على معرفة كيفية الوصول إلى الدالة.

function inner() {
  console.trace("reached inner")
}
function outer() {
  inner()
}
outer()

خاصية stack في الخطأ

يحمل كائن Error خاصية باسم stack تحتوي على التتبع كنص، ويمكنك تسجيل هذا النص أو إرساله إلى خدمة للإبلاغ عن الأخطاء.

const err = new Error("Something failed")
console.log(typeof err.stack)

التعليمات البرمجية المصغرة وخرائط المصدر

غالبًا ما تكون تعليمات الإنتاج البرمجية مصغرة، مما يجعل التتبعات غامضة. وتحوّل خرائط المصدر المواضع المصغرة إلى ملفاتك الأصلية للحصول على تتبعات واضحة.

من التتبع إلى الإصلاح

اجمع بين الرسالة وإطار المستخدم العلوي ورقم السطر لتحديد موضع الخطأ. ثم افحص المتغيرات هناك للتأكد من السبب.

اختبار سريع

اختبر معرفتك بتتبع المكدس.

مراجعة

مراجعة: تكشف تتبعات المكدس المسار المؤدي إلى الخطأ.

  • يمثل الإطار العلوي موضع إطلاق الخطأ
  • تمثل الإطارات الأدنى الدوال المستدعية
  • ركّز على أعلى إطار موجود في تعليماتك البرمجية
  • تجعل خرائط المصدر التتبعات المصغرة قابلة للقراءة
const err = new Error("fail")
console.log(typeof err.stack)

الأسئلة الشائعة

هل درس «قراءة تتبعات مكدس الاستدعاءات» مجاني؟

نعم — نص درس «قراءة تتبعات مكدس الاستدعاءات» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة JavaScript Academy، انتقل إلى CoddyKit PRO. تتضمن دورة JavaScript Academy 4 دروس في المجموع.

ماذا ستتعلم في «قراءة تتبعات مكدس الاستدعاءات»؟

تتبّعوا الأخطاء وصولًا إلى مصدرها. تتمرن على JavaScript Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ JavaScript Academy؟

لا تُشترط خبرة سابقة. JavaScript Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.

كم من الوقت يستغرق درس «قراءة تتبعات مكدس الاستدعاءات»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس JavaScript Academy هذا؟

نعم. كل درس في JavaScript Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. ما بعد console.log
  2. تعيين نقاط التوقف
  3. التنقل خطوة بخطوة في التعليمات البرمجية
  4. قراءة تتبعات مكدس الاستدعاءات
← العودة إلى JavaScript Academy