مؤشر متدلي

المؤشر المتدلي أو المؤشر المتوحش في برمجة الحاسوب هو مؤشر لا يشير إلى كائن صالح. ويعد ذلك حالة من حالات خروقات أمن الذاكرة.

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

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

استشهادات

  1. "Warning Options - Using the GNU Compiler Collection (GCC)" en. مؤرشف من الأصل في 05 يناير 2019. اطلع عليه بتاريخ 21 أبريل 2020. الوسيط |CitationClass= تم تجاهله (مساعدة); Invalid |script-title=: missing prefix (مساعدة)
    • بوابة برمجة الحاسوب
    This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.