בשלב זה עובד עבור לינוקס בלבד. DBGMEM הוא שוחרר בתנאים של הרישיון הציבורי הכללי המוקטן של גנו
הכלי עוזר לך למצוא בעיות כגון
& Nbsp; 1. דליפות זיכרון
& Nbsp; 2. שחיתות זיכרון ערימה
& Nbsp; 3. שימוש לרעה, טיעון בלתי חוקי לפונקציות ספרייה סטנדרטית שנבחרו.
& Nbsp; 4. מחסנית שחיתות
& Nbsp; 5. שימוש בזכרון ערימה משוחרר או בלתי אותחל.
& Nbsp; 6. מאפשר לך להרחיב את הכלי, לבדוק את טענותיו של API נוסף
הכלי גובר פונקציות זיכרון glibc הקצאה, זיכרון ופונקציות מניפולציה מחרוזת כדי להוסיף התכונות שלה.
DBGMEM אינו דורש כל שינוי בתכנית שלך, אם כי ייתכן שתרצה לשנות את התכנית שלך כדי להשתמש בכמה תכונות מתקדמות.
DBGMEM הוא הבאגים זיכרון קוד פתוחים לתוכניות C ו- C ++ ופועל תחת מערכת הפעלת לינוקס, והוא שוחרר תחת הרישיון הציבורי הכללי המוקטן של גנו. DBGMEM מוסיף בדיקות ניפוי לחלקים של ספרייה סטנדרטית Glibc; זה מיושם כספריות משותפות שנטענות לתוך מרחב הכתובות של תהליך מדובג.
כלים
יש DBGMEM כמה כלי איתור הבאגים זיכרון, כל אחד יכול לטעון לתכנית מדובג; הכלי פשוט עוקב אחר כל הזיכרון שהוקצו בלוקים, ומוסיף מידע לשמירת ספר, כגון הערימה בזמן שבו הגוש הוקצה, לכותרת זירה שמקדימה את בלוק הזיכרון שהוקצה; זה גם מוסיף מילת שומר לפני ואחרי הבלוק שהוקצה; הכלי פשוט משמש הטוב ביותר לגילוי בעיות דליפת זיכרון; ככותרת הזירה יכולה ייפגמו על ידי התכנית כי הוא מדובג. הבדיקה לקח שומר את כל המידע-שמירת הספר מהערימה בקובץ ממופה זיכרון אנונימי; זה הופך את הכלי חזק יותר כדי לעמוד באגים זיכרון דריסה. כלי הבדיקה גם מוסיף יכולת להסתכל במהירות מידע על כל בלוק ערימה לערך מצביע בתוך בלוק שערימה; כלי הבדיקה מוסיף אימות של פרמטרים למחרוזת משותפת ופונקציות מניפולציה זיכרון, ובדיקות לערימה אפשרית לנפץ ידי פונקציות אלה.
מצב של פעולה
אתה יכול להריץ את רוב תוכניות עם הבאגים כהוא; הכלי אינו דורש תכנית מדובג להיות מקושר עם כל ספריות ספציפיות; הכלי הוא ספרייה משותפת שהוא נטען לתוך מרחב הכתובות של תהליך שנבדק באמצעות הטכניקה של הזרקת DLL. תכונת LD_PRELOAD של מקשר דינמי משמשת כדי לטעון את הכלים הראשונים משותפים ספרייה, לפני כל ספרייה אחרת נטענת; הקצאת זיכרון ותפקוד מניפולציה מחרוזת מיורטת והראשונה נקראות מספריית הכלי; זה מאפשר לכלי להוספת הבדיקות שלה. במהלך זמן ריצה של תהליך מדובג דו"ח גלם כתוב שעיבוד נוסף לאחר סיומו של תהליך מדובג; דו"ח augmented מוסיף שמות פונקציה סמליים למחסנית עקבות הכלולות בדו"ח הגלם. הבאגים GDB משמש להפיכת כתובות מספריות לכתובות סמליות בעיבוד נוסף של דו"ח גלם
תכונות :.
- זיכרון ; זה חל על כלי הבדיקה וכלים פשוטים. הכלי עוקב אחר כל בלוק ערימה הוקצה יחד עם מעקב מחסנית שצולם בזמן שבו הגוש הוקצה; בנוסף תג שלם נשמר עם כל הקצאה, ערך זה עוקב תקופה הגיונית / `דור 'שמאפיינת את הזמן שבו הגוש הוקצה. דו"ח של מידע זה תמיד מיוצר ביציאה תהליך, או כאשר התבקשו על ידי המשתמש. מידע זה מסייע למצוא מקרים וסיבות לדליפות זיכרון.
מה חדש בהודעה זו:
- לעשות עכשיו מקבל משתנה סביבת CFLAGS
- לבנות dbgmem ספרייה עם אפשרות -ldl
- ספרייה משותפת כעת להציב לתוך lib / $ ספרייה (uname -r), כglibc נשוי לגרסת הקרנל.
- אוסף תיקון בכמה מערכות (שלב להגדיר)
- להוסיף אפשרות להפעיל תסריט (-m - ליצור ערימה עוקבת רק לכמה דורות)
מה חדש בגרסת 1.9.1:
- להפוך תסריט מעודכן, זה עכשיו מנסה לזהות הנדרש הגדרות בנויה; עדיין לא עכשיו איך לעשות automake למרות
- שגיאת הידור במצב C לgcc 2.9.6 קבוע; gcc עדיין מתרסק עם שגיאה פנימית על ++ C מצב מובנה
- הוסיף -g האופציה (להשבית המחאה על זיווג של malloc / חדש / חדש [] וחופשי / למחוק / להסיר [] ב C ++ מצב)
מה חדש בגרסת 1.7:
- הוסיף אפשרות פ'אחרי שיחות מזלג וexec (כמו ב מזלג / exec)
תגובות לא נמצא