זוהי הפקודה crashme שניתן להפעיל בספק האירוח החינמי של OnWorks באמצעות אחת מתחנות העבודה המקוונות המרובות שלנו, כגון Ubuntu Online, Fedora Online, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS
תָכְנִית:
שֵׁם
crashme - בדוק את חוסן תוכנת סביבת ההפעלה
תַקצִיר
crashme [NBYTES] [SRAND] [NTRYS] [NSUB] [מילה במילה]
תיאור
crashme היא תוכנית פשוטה מאוד שבודקת את חוסנה של סביבת ההפעלה על ידי
הפעלת נתונים אקראיים כאילו מדובר בהליך. האותות הסטנדרטיים נתפסים ו
מטופל עם setjmp חזרה ללולאה שתנסה שוב לייצר תקלה על ידי ביצוע
נתונים אקראיים. יש אנשים שקוראים לזה בדיקת לחץ.
פקודה קו אפשרויות
[NBYTES]
השמיים [NBYTES] צריך להיות מספר שלם, המציין את גודל מחרוזת הנתונים האקראיים
בבתים. אם ניתן שלילי אז הבתים מודפסים במקום להיות מופעלים.
אם ניתן עם סימן פלוס מפורש אז האחסון עבור הבתים טרי
malloc'ed בכל פעם. זה יכול להשפיע על מכונות עם I ו-D נפרדים
מנגנוני מטמון. הטיעון יכול להכיל גם נקודה, XY, ובמקרה זה Y הוא
תוספת עבור מצביע לתוך הנתונים האקראיים. המאגר מחושב מחדש בלבד
כאשר המצביע מתקרב לסוף הנתונים.
יש שני ערכי קסם עבור [NBYTES] : ערך של 81920 מונע מאלוק ומחזיר
מצביע לנתונים סטטיים. זה הופך את הפעולה של crashme לניתנת לחזרה יותר
ארכיטקטורות שבהן malloc תוכנן להחזיר מיקומים בלתי צפויים. ערך
של 1025 נמנע מקריאה שמגדירה את ההגנה על הנתונים ל-READ+WRITE+EXEC.
[SRAND] השמיים [SRAND] הוא זרע קלט למחולל המספרים האקראיים, המועבר ל-srand.
[NTRIES]
השמיים [NTRIES] זה כמה פעמים ללולאה לפני יציאה רגילה מהתוכנית.
[NSUB] השמיים [NSUB] הוא אופציונלי, מספר תהליכי המשנה של vfork הפועלים בבת אחת. אם
ריצה שלילית בזה אחר זה. אם ניתן כזמן hrs:mns:scs (שעות, דקות,
שניות) ואז תת-תהליך אחד יופעל עד לסיומו, ואחריו אחר, עד
הגעת למגבלת הזמן. אם ארגומנט זה ניתן כמחרוזת הריקה או
. ואז מתעלמים ממנו.
במצב של תת-תהליך רציף יש מגבלת זמן של 30 שניות על כל אחד
תת-תהליך. זאת כדי לאפשר את המשך ההליכה האקראית של הוראות-סט-מרחב
כאשר תהליך מכניס את עצמו ללולאה אינסופית. לדוגמה, ה-ntrys יכול להיות
bashed למספר גדול מאוד עם nbytes משוך לאפס. (הגבלה של 10 שניות
Windows NT).
הארגומנט SRAND מוגדל באחד עבור כל תת-תהליך.
[מִלוּלִי]
השמיים [מִלוּלִי] arg הוא אופציונלי. 0 הוא הכי פחות מילולי, 5 הכי הרבה.
הסביבה וריאציות
CRASHLOG
השמיים CRASHLOG הוא שם הקובץ שתהליך האב פותח במצב כתיבה
וכל תהליכי הצאצא נפתחים במצב הוספה. יש שטיפה תכופה של
קובץ אך ללא נעילה, כך שהפלט עשוי להיות שזור. אם מערכת ההפעלה
קורס, אז הקובץ הזה עשוי לספק קיצור דרך למספר אקראי יותר ממורמר
רצף זרעים כדי לאפשר איתור מהיר יותר של המקרה המיוחד שגרם ל
התרסקות.
CRASHPRNG
השמיים CRASHPRNG ניתן להגדיר ל-RAND כדי להשתמש בפונקציית רנד המסופקת על ידי המערכת, או MT
להשתמש בטוויסטר של Mersenne (ברירת מחדל) כפי שקודד על ידי Takuji Nishimura ו-Makoto
Matsumoto, או VNSQ כדי להשתמש בפירוש המטומטם של המחבר לזו של פון נוימן
שיטת ריבוע בינוני.
דוגמא
זוהי בדיקה מומלצת, להפעיל אותה לפחות שעה.
crashme +2000 666 100 1:00:00
השתמש ב-crashme באינטרנט באמצעות שירותי onworks.net