تمت ترجمة المحتوى الموجود على هذا الموقع باستخدام الذكاء الاصطناعي (AI) أو تقنية الترجمة الآلية، وقد تحتوي على أخطاء.

Skip to content

تحسينات على أداة تصحيح أخطاء Lua!

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

نقاط التوقف

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

في هذا المثال، تم تعيين نقطة توقف عند عبارة print مما يسمح لك بفحص قيمة المتغيرات المحددة عن طريق تمرير المؤشر فوقها.

تتبع الكود خطوة بخطوة

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

في هذا المثال، يؤدي النقر على زر "Step Into" إلى نقل أداة التصحيح داخل الدالة المسماة testFunc( )
في هذا المثال، يؤدي النقر على زر "Step Out" إلى إخراج أداة التصحيح من الدالة المسماة testFunc( ) ونقلها إلى السطر التالي من التعليمات البرمجية بعد استدعاء الدالة في البداية.

مراقبة التغييرات في المتغيرات

تتيح لك ميزة "Add Watch" إخبار Lua Debugger بالمتغيرات التي تريد تتبعها أو مراقبة عند وصولها إلى نقاط التوقف. لإضافة عنصر إلى قائمة المراقبة، ما عليك سوى تمييز متغير والنقر بزر الماوس الأيمن عليه في عرض البرنامج النصي والنقر على عنصر القائمة "Add Watch". أو يمكنك النقر على زر "Add Watch" وكتابة اسم المتغير. سيؤدي ذلك تلقائيًا إلى استرداد معلومات حول قيمة المتغير قيد المراقبة عند الوصول إلى نقاط التوقف.

في هذا المثال، يؤدي النقر على زر "Step Out" إلى إخراج أداة التصحيح من الدالة المسماة testFunc() ونقلها إلى السطر التالي من التعليمات البرمجية بعد استدعاء الدالة في البداية.

مكدس الاستدعاءات

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

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

استخدام مصحح أخطاء Lua

يمكن الوصول إلى مصحح أخطاء Lua عند تحرير البرامج النصية في Roblox Studio. للبدء وإضافة نقاط توقف إلى الكود الخاص بك، ما عليك سوى النقر على يسار سطر الكود في نافذة البرنامج النصي الذي ترغب في إيقافه مؤقتًا. سيتم تمييز كل سطر تنقر عليه وتحدده كنقطة توقف بنقطة حمراء.

بمجرد أن تقوم بتجربة تشغيل لعبتك، يمكنك التبديل بين خيارات Breakpoint و Add Watch و Call Stack في قائمة View والتحقق من سلوك الكود الخاص بك أسفل نافذة العرض الرئيسية. الأمر بهذه البساطة! إذا لم تكن قد استخدمت Lua Debugger من قبل، فنحن نشجعك على تجربته.

تحسينات جديدة

الآن بعد أن استعرضنا الميزات الرئيسية لمصحح أخطاء Lua، قمنا مؤخرًا بإجراء عدد من التحسينات والإصلاحات المهمة، بما في ذلك:

  • تم إصلاح مشكلة عدم فتح البرنامج النصي الصحيح عند نقطة توقف أو من نافذة Call Stack.
  • تم إصلاح تمييز السطر الحالي في Lua Debugger.
  • يتم الآن اكتشاف أخطاء call أو pcall المحمية بشكل صحيح.
  • تمت إضافة جداول مختلطة تسمح لك بمراقبة القيم وتتبعها. يمكنك أيضًا تمرير المؤشر فوق متغير الجدول ورؤية جميع القيم على الفور دون الحاجة إلى طباعتها.
  • تحسينات طفيفة متنوعة في واجهة المستخدم.
  • إصلاحات متنوعة لتلميحات الأدوات ونافذة "Add Watch".
    • يؤدي تمرير الماوس فوق متغيرات الأحرف الفردية الآن إلى عرض قيمة المتغير بشكل صحيح.
    • يتم الآن سرد جميع الخصائص في تلميح الأداة ونافذة المراقبة دون أي خصائص مفقودة.

نحن ملتزمون بتزويد مجتمع مطوري Roblox الموهوبين بالأدوات التي يحتاجونها. نود أن نسمع تعليقاتكم حول كيفية مواصلة تحسين Lua Debugger على منتدى المطورين.