هذه المقالة يتيمة. ساعد بإضافة وصلة إليها في مقالة متعلقة بها
يفتقر محتوى هذه المقالة إلى مصادر موثوقة.

خطأ المؤشر القديم

من أرابيكا، الموسوعة الحرة
اذهب إلى التنقل اذهب إلى البحث

خطأ اللمؤشر القديم (stale pointer bug)، والمعروف باسم خطأ التعريج (aliasing bug) هو فئة من الأخطاء الدقيقة في البرمجة التي تنتج في الكود الذي يقوم بتحديد الذاكرة الدينمكية، خصوصاً من خلال عملية مالوك (malloc function) أو ما يعادلها.

إذا أعطيت عدد من المؤشرات كمية كبيرة من أماكن التخزين، فإنة قد يتم تحرير مكان التغزين أو إعادة توزيعها (ثم نقلها) من alias إلى آخر، مما قد يؤدي إلى اختفاء (وربما انفصال) وفقدها اعتماداً على الحالة وتاريخ تحديد المكان لمنطقة مالوك. يمكن تفادي الخطأ بعدم تكوين alias للذاكرة المخصصة، وذلك بالتحكم بالنطاق الدينميكي للمرجع إلى مكان التخزين بحيث لا يبقى شيء عند تحريرها، أو باستخدام جامع القمامة، على شكل مكتبة تخصيص ذاكرة ذكي (intelligent memory-allocation library)، أو كما يتوفر في الغات العالية المستوى، مثل Lisp.

يرتبط مصطلح «خطأ التعريج» لغة البرمجة سي، لكنها كانت تستخدم بنفس الطريقة في ألغول 60 وولغة Fortran في الستينات.

انظر أيضاً