غالبا ما يبدو تصحيح أعطال البرمجيات المعقدة عشوائيا ومحبِطا. توفر هذه المهارة تقنيات تصحيح منهجية، وأدوات قياس الأداء، وأساليب تحليل السبب الجذري التي تحول الاستكشاف إلى عملية منهجية.
Télécharger le ZIP du skill
Importer dans Claude
Allez dans Paramètres → Capacités → Skills → Importer un skill
Activez et commencez à utiliser
Tester
Utilisation de "debugging-strategies". My Node.js API returns 500 errors intermittently. The error says 'Cannot read property of undefined' but I cannot find where this happens.
Résultat attendu:
دعني أطبق تصحيحا منهجيا للعثور على مشكلة الخاصية غير المعرفة هذه.
## الخطوة 1: إعادة الإنتاج والملاحظة
- متى يحدث الخطأ؟ دائما أم عشوائيا؟
- أي نقطة نهاية API تسببه؟
- ما معلمات الطلب المرسلة؟
## الخطوة 2: جمع المعلومات
1. أضف تسجيلا استراتيجيا قبل نقطة التعطل المحتملة:
```javascript
console.log('Order data:', JSON.stringify(order, null, 2));
```
2. تحقق من أي خاصية قد تكون غير معرفة:
```javascript
console.log('Items:', order?.items);
console.log('User:', order?.user?.name);
```
## الخطوة 3: الفرضية
الفرضية: من المحتمل أن يحدث الخطأ عندما:
- تكون order.items غير معرفة لأنواع معينة من الطلبات
- تكون order.user فارغة للمستخدمين الضيوف
## الخطوة 4: الاختبار والتحقق
أضف فحوصات عدم القيم الفارغة وتحقق بعينات طلبات:
```javascript
const items = order?.items ?? [];
const userName = order?.user?.name ?? 'Guest';
```
هل ترغب أن أساعدك في تنفيذ هذا الإصلاح؟
Utilisation de "debugging-strategies". Help me debug a memory leak in my React application.
Résultat attendu:
دعني أوجهك خلال تصحيح تسرب ذاكرة في React بشكل منهجي.
## مرحلة إعادة الإنتاج
1. افتح Chrome DevTools > تبويب Memory
2. التقط لقطة ذاكرة (قبل)
3. نفّذ الإجراء المشتبه بالتسريب 10-20 مرة
4. التقط لقطة أخرى (بعد)
5. قارن اللقطات لتحديد الكائنات المحتجزة
## أنماط شائعة لتسرب الذاكرة في React
1. مستمعو أحداث غير مُلغى اشتراكهم
2. مؤقتات (setInterval) لا تُزال في تنظيف useEffect
3. إغلاقات تحتفظ بمراجع لنطاق المكوّن
4. مخازن عالمية تنمو بلا حدود
## خطوات تصحيح سريعة
```javascript
useEffect(() => {
const timer = setInterval(() => {
// ...
}, 1000);
// Cleanup function - CRITICAL for preventing leaks
return () => {
clearInterval(timer);
// Remove any subscriptions
};
}, []);
```
ما الأعراض التي تراها؟ ذاكرة عالية في DevTools أم أعطال فعلية؟
Audit de sécurité
SûrStatic analysis detected 54 potential issues, all confirmed as false positives. The 'scripts' patterns are Go import statements in code examples. 'External_commands' are markdown backticks used for code formatting. 'Weak cryptographic algorithm' flags are triggered by Go standard library package names (crypto/pprof). 'Network' URLs are GitHub source URLs and localhost debugging endpoints. All findings are legitimate documentation content with no security concerns.
Score de qualité
Ce que vous pouvez construire
إصلاح أخطاء إنتاج مراوغة
تطبيق تقنيات التصحيح المنهجية لتتبع المشكلات صعبة إعادة الإنتاج في بيئات الإنتاج باستخدام التسجيل، وتحليل تتبع المكدس، والتصحيح التفاضلي.
تحسين أداء تطبيق بطيء
استخدام أدوات وتقنيات قياس الأداء لتحديد اختناقات الأداء وتسربات الذاكرة وأنماط الشيفرة غير الفعالة عبر تطبيقات JavaScript و Python و Go.
تعلّم أساليب تصحيح منظمة
إتقان المنهج العلمي للتصحيح، وتصحيح البطة المطاطية، وعزل المشكلات بشكل منهجي لتصبح أكثر فعالية في استكشاف أي مشكلة شيفرة.
Essayez ces prompts
أرى هذا الخطأ في تطبيقي: [insert error message and stack trace]. طبّق تقنيات التصحيح المنهجية لمساعدتي على تحديد السبب الجذري. مر عبر المنهج العلمي: الملاحظة، الفرضية، التجربة، التحليل.
تطبيقي من نوع [application type] يعمل ببطء. ساعدني في استخدام أدوات قياس الأداء لتحديد الاختناق. ضمّن تعليمات خطوة بخطوة لاستخدام [Chrome DevTools / cProfile / pprof] لمعرفة أين يُقضى الوقت.
لدي خطأ متقطع يحدث أحيانا فقط ويبدو مرتبطا بالعمليات غير المتزامنة. وجّهني خلال تصحيح حالات السباق باستخدام تسجيل التتبع وتحليل التوقيت.
ظهر خطأ بين الإصدار العامل [version A] والإصدار الحالي [version B]. وجّهني خلال استخدام git bisect للعثور على الالتزام الدقيق الذي أدخل الانحدار.
Bonnes pratiques
- أعد إنتاج الخطأ بشكل متسق قبل محاولة الإصلاحات. دون إعادة إنتاج متسقة، لا يمكنك التحقق من الحل.
- اعزل المشكلة بإزالة الشيفرة غير ذات الصلة. أنشئ حالة إعادة إنتاج مصغرة توضح المشكلة.
- استخدم المصحح، وليس فقط عبارات console.log. نقاط التوقف تتيح لك فحص حالة البرنامج في أي نقطة.
Éviter
- إجراء تغييرات متعددة في وقت واحد. غيّر شيئا واحدا في كل مرة لتفهم ما الذي أصلح المشكلة فعليا.
- تجاهل رسائل الخطأ أو عدم قراءة تتبع المكدس كاملا. رسالة الخطأ وتتبّع المكدس يحتويان على دلائل قيّمة.
- افتراض أن الخطأ في شيفرة شخص آخر. معظم الأخطاء تكون في تغييراتك الأخيرة، لا في مكتبات الطرف الثالث.