مطاردة خلل شبحي مضمن: الخطأ -22
2025-01-26
واجه فريق Tweede golf خطأ محبطًا في برنامجه النصي المدمج بلغة Rust لوحدة التحكم الدقيقة nRF9160، مما أدى إلى حدوث خطأ Error::NrfError(-22) عند إرسال البيانات إلى الخادم. بعد أسابيع من التحقيق، تعقبوا المشكلة إلى دالة تهيئة مكتبة libmodem. تم استخدام مؤشر إلى بنية تكوين مخصصة على المكدس بعد تدمير البنية، مما تسبب في كتابات غير مقصودة في تكوين منطقة الذاكرة المشتركة، مما أدى إلى طول بيانات قدره 0. وأدى إضافة `black_box` واستخدام نقاط المراقبة إلى تحديد موقع وإصلاح الخطأ في النهاية. سلط الفريق الضوء على مزايا استخدام Rust للتنمية المدمجة لمنع مثل هذه الأخطاء منخفضة المستوى.
اقرأ المزيد
التطوير