השחתת זיכרון – הבדלי גרסאות
תוכן שנמחק תוכן שנוסף
מ שינויי ניסוח קלים |
מאין תקציר עריכה |
||
שורה 1:
'''השחתת זכרון''' (Memory corruption) הוא סוג של [[באג]], אשר קורה כאשר מיקום ב[[זכרון מחשב]] או [[אוגר]] משוכתב באופן מקרי ולא מבוקר, כתוצאה משגיאה ב[[תכנות]]. טעות כזו יכולה לגרום לקריסה מיידית של ה[[תוכנה]] (למשל במקרה של כתיבה לכתובת 0, התוכנית תיזרק על ידי [[מערכת הפעלה|מערכת ההפעלה]] בעקבות שגיאת סיגמנטציה). מנגד, ייתכן גם שהשגיאה לא תבוא לידי ביטוי למשך זמן רב, ולרק עבור קלטים מסוימים יופיע פלט שגוי.
דוגמא בולטת להשחתת זכרון היא נסיון גישה לתא במערך כאשר הוא אינו קיים. בעיה זו ניתן למצוא במרבית שפות התכנות, בחלקן תהיה הודעת שגיאה ובחלק - לא. למשל ב[[C (שפת תכנות
מציאת באגים כאלה יכולה להיות קשה. לכן כלי תכנות אשר מזהים טעויות כאלה אוטומטית, כגון Valgrind, הם רבי ערך.
|