الوثائق1.0 (latest)
الصفحاتتصحيح الأخطاء · 21 / 29

تصحيح الأخطاء

يمكن لبيئة التطوير تشغيل شيفرة Python الخاصة بك تحت مصحّح أخطاء لتتمكن من التوقف عند سطر وفحص مكدس الاستدعاءات والمتغيرات. يوجد وضعان لتصحيح الأخطاء، يُطلق كلاهما من شريط أدوات التصحيح.

الوضعما يشغّله
Debug Runيشغّل ملف Python الحالي مباشرةً تحت مصحّح الأخطاء. متاح دائمًا عند فتح ملف.
Debug Testيشغّل استراتيجيتك على أعمدة تاريخية (اختبار رجعي) تحت مصحّح الأخطاء. يظهر فقط عندما يكون الملف النشط استراتيجية تنفّذ دوال الاستدعاء الخاصة بالاختبار الرجعي.

يفتح Debug Test أولًا نافذة إعداد الاختبار الرجعي ثم يشغّل. ويدعم اختبارًا رجعيًا واحدًا فقط — لا عمليات مسح التحسين — ومصدر Selected symbols فقط (وليس Screener). ويقرأ البيانات الأساسية تمامًا كما يفعل الاختبار الرجعي، بما في ذلك قاعدة تاريخ الإيداع، بحيث يطابق ما تفحصه ما سيراه تشغيل Test.

يُخفى شريط أدوات التصحيح بينما يتحكم QuantCraft AI في بيئة التطوير؛ ويعود عند انتهاء جلسة الذكاء الاصطناعي. لمعرفة علاقة الأوضاع بالتشغيل العادي، راجع تشغيل الشيفرة والاختبارات الرجعية.


تعيين نقاط التوقف

  • انقر على الهامش الواقع بجانب أرقام الأسطر لتبديل نقطة توقف عند ذلك السطر؛ وانقر مرة أخرى لإزالتها.
  • نقاط التوقف خاصة بكل ملف وتُجمع من جميع علامات التبويب المفتوحة عند بدء الجلسة.
  • لا يمكن النقر على الهامش إلا عندما لا يعمل شيء — عيّن نقاط التوقف قبل بدء التشغيل.

بدء جلسة

  • أول مرة تبدأ فيها جلسة تصحيح سترى إخلاء مسؤولية للتشغيل يظهر مرة واحدة (ويمكنك تخطيه في المرة التالية).
  • يحتاج Debug Run إلى ملف مفتوح. ويظهر Debug Test عندما تكون علامة التبويب النشطة ملف .py يعرّف دوال استدعاء استراتيجية تتعرف عليها بيئة التطوير (on_init / on_bar / on_finish)؛ وهو لا يتطلب حساب تداول نشطًا لدى وسيط. وتستخدم بيانات B2 / QuantCraft تسجيل دخولك إلى QC عند الحاجة.
  • لا يزال محرك الاختبار الرجعي يتطلب دالة on_tick قابلة للاستدعاء (ودوال الاستدعاء الأخرى المطلوبة). فإذا غابت on_tick، فقد يظهر Debug Test في شريط الأدوات لكن التشغيل يفشل عند بدء الاختبار الرجعي.
  • تعمل جلسة تصحيح واحدة فقط في كل مرة، ويُحظر التصحيح أثناء تشغيل Run عادي أو اختبار رجعي.

عناصر التحكم

يعرض شريط الأدوات عناصر تحكم بحسب حالة الجلسة.

عنصر التحكممتىما يفعله
Stopأثناء التشغيلينهي جلسة التصحيح.
Continueعند الإيقاف المؤقتيستأنف حتى نقطة التوقف التالية.
Step Overعند الإيقاف المؤقتينفّذ السطر الحالي مع البقاء في الدالة نفسها.
Step Intoعند الإيقاف المؤقتيدخل إلى استدعاء الدالة في السطر الحالي.
Step Outعند الإيقاف المؤقتينفّذ حتى تعود الدالة الحالية.
Step Barعند الإيقاف المؤقت (Debug Test فقط)يقدّم الاختبار الرجعي بمقدار شمعة واحدة.

لا يوجد Restart — لإعادة التشغيل أوقف الجلسة وانقر Debug Run / Debug Test مرة أخرى.


ما تراه عند الإيقاف المؤقت

  • ينتقل المحرر إلى الملف الموقوف مؤقتًا ويميّز السطر الموقوف.
  • تُفتح علامة تبويب فرعية Debug في لوحة المخرجات فيها جزآن:
    • Call Stack — سلسلة الإطارات، يعرض كل منها اسم دالة والملف:السطر. انقر إطارًا لفحص متغيراته.
    • Variables — مجمّعة حسب النطاق (Locals وGlobals وClosure وغيرها). يعرض كل متغير اسمه ونوعه وقيمته؛ وتتوسّع الكائنات والقوائم لتكشف محتواها.
  • في Debug Test، تعرض لافتة سياق الخطوة موضعك في الاختبار الرجعي، مثل Bar 12 / 240 · AAPL · <time> · O … H … L … C ….
  • تُبثّ مخرجات البرنامج إلى لوحة المخرجات كالمعتاد.

القيود

  • لا توجد لوحة مراقبة ولا مُقيِّم تعبيرات — Call Stack وVariables فقط.
  • لا يوجد عنصر Restart (أوقف ثم أعد التشغيل).
  • Debug Test لاختبار رجعي واحد فقط — ولا يمكنه تصحيح تشغيل تحسين.
  • لا يوجد مصدر رموز Screener — يتوقف Debug Test برسالة Debug test doesn't support a Screener symbol source …. بدّل إلى Selected symbols واختر بضعة رموز.
  • يتطلب Debug Test أن تكون علامة التبويب النشطة ملف استراتيجية .py يتضمن دوال الاختبار الرجعي؛ أما النص البرمجي العادي فيحصل على Debug Run فقط.
  • لا يتحقق ظهور Debug Test في شريط الأدوات من وجود on_tick؛ بل يتحقق منه المحرك.

انظر أيضًا

4 دقائق للقراءةاقترح تعديلًا ↗
تصحيح الأخطاء — الوثائق (1.0 (latest)) | QuantCraft