Return to Video

06-02 שבעת שלבי הדיבאגינג

  • 0:00 - 0:04
    ברוכים הבאים ליחידה האחרונה בקורס הדיבאגינג שלנו שבה נסקור
  • 0:04 - 0:08
    את כלל החומר שראינו עד כה ונאגד אותו יחדיו.
  • 0:08 - 0:12
    עכשיו בסופו של הקורס, בוא נשים הכל יחדיו לראות
  • 0:12 - 0:15
    מה אנחנו עושים כאשר אנחנו נתקלים בבאג.
  • 0:15 - 0:21
    כשאנחנו נתקלים בבאג חדש, הדבר הראשון שאנו עושים זה לוודא שהוא יעובד.
  • 0:21 - 0:24
    אז אנחנו מכניסים אותו לבסיס נתוני הבעיות.
  • 0:24 - 0:28
    ראינו את השלבים בהם דיווח בעיה עובר ממצב לא מאושר
  • 0:28 - 0:32
    דרך המצב מוקצה, כאשר הוא מוקצה למפתח מסויים,
  • 0:32 - 0:35
    ולבסוף נפתר ונסגר.
  • 0:35 - 0:43
    כל בעיה חדשה צריכה ללכת לבסיס נתוני הבעיות.
  • 0:43 - 0:50
    בטווח הרחוק, בדיקת בעיות גם עוזרת לכן ביצירת סטטיסטיקות
  • 0:50 - 0:55
    על כמה זמן לוקח לתקן באג, וכמה באגים ישנם שעדיין צריכים להיות מתוקנים,
  • 0:55 - 0:59
    כמו גם היכן הבאגים שעדיין צריכים לתקן?
  • 0:59 - 1:04
    באופן שבתוכניות שלכם, אתה יודע באיזה מקומות
  • 1:04 - 1:10
    הזמן העודף הגבוהה ביותר מוקצה לצפיפות הבאגים הגבוהה ביותר, ולכן נדרש עבורם תשומת לב מיוחדת.
  • 1:10 - 1:16
    לכל זה, מעקב אחר בעיות זה השלב המקדים.
  • 1:16 - 1:23
    השלב הבא יהיה לשחזר את הבעיה מכיוון שרק כאשר אתה משחזר את הבעיה,
  • 1:23 - 1:27
    אתה יודע האם תוכל למעשה לתקן אותה.
  • 1:27 - 1:34
    ראינו מה שהקלטים המסויימים הם כל מה שמשפיעים על ריצת תוכנית.
  • 1:34 - 1:41
    הכי חשוב הינו המיד הסטטי, אינטראקציית משתמש, והאינטראקציה עם הסביבה
  • 1:41 - 1:48
    אבל גם צרות כמו דיבאגר שמשפיע על התוכנית
  • 1:48 - 1:53
    או רנדומליות זמן ונושאים נוספים שקשה לשלוט עליהם.
  • 1:53 - 1:59
    על מנת לשחזר את הבעיה, אתה חייב לשים כל אלה תחת שליטתך.
  • 1:59 - 2:05
    שחזור הבעיה יכול להיות קשה באופן מיוחד כשאתה אוסף מידע מהשטח
  • 2:05 - 2:10
    מכיוון שהמידע ואינטראקצית המשתמש יכולה להכיל מידע רגיש.
  • 2:10 - 2:17
    מסיבה זו ראינו גם טכניקות של דיבאג סטטיסטי שמתקשר לכשלי הרצה
  • 2:17 - 2:23
    באופן שמאפשר לתוכנית המורצת עליו להכשל ולהצליח
  • 2:23 - 2:27
    על ידי איסוף המידע מהשטח תוכל לפענח
  • 2:27 - 2:32
    איזה תכונות של ההרצה מתאימים עם הכשלים
  • 2:32 - 2:38
    ותכונות אלה יכולות להיות תכונות כמו הרצת שורות או ערכים חוזרים מפונקציות.
  • 2:38 - 2:43
    השלב הבא בדיבאגינג יהיה להפוך לאוטומטי ולפשט.
  • 2:43 - 2:46
    הרעיון הוא שכשאתה כותב בדיקה
  • 2:46 - 2:51
    בה אתה מסוגל לשחזר את הבעיה בכל זמן באופן אוטומטי
  • 2:51 - 2:56
    לראשונה, זה עוזר, כמובן, לביצוע בדיקות רגרסיה
  • 2:56 - 3:00
    כך שתוכל בכל רגע נתון לבדוק האם הבעיה שם או לא.
  • 3:00 - 3:05
    עם זאת, תוצאות יותר עוזרות לבצע הפשטה אוטומטית של הבעיה
  • 3:05 - 3:11
    אם יש לך קלט גדול שגורם לבעיה, אז ביצוע בדיקה אוטומטית
  • 3:11 - 3:15
    יכול לעזור לך לפשט באופן אוטומטי את הקלט.
  • 3:15 - 3:21
    הטכניקה של דלתא דיבאגינג לוקחת את הקלט הגדול ובעזרת הבדיקות האוטומטיות
  • 3:21 - 3:29
    מפשטת אותו באופן אוטומטי לקל שבו כל פרט הוא רלוונטי לשחזור הבעיה.
  • 3:29 - 3:36
    זה יכול להיות עזר מעולה כשזה מגיע להבנת מה גרם לכשל ומה לא.
  • 3:36 - 3:43
    לאחר שאתה הפשטת את הבעיה, השלב הבא יהיה למצוא סיבות אפשריות למקור ההדבקה.
  • 3:43 - 3:48
    אם התוכנית שלך כושלת, תוכל לראות את ההרצה של כירושה של מצבים.
  • 3:48 - 3:55
    המצב האחרון הוא מה שאתה רואה ככשל, ואתה רוצה להבין מאיפה הגיע הכשל.
  • 3:55 - 3:59
    הרעיון של תלויות עוזר לך להבין
  • 3:59 - 4:04
    את המקורות האפשריית של ההדבקה ולשלול את המקורות האחרים.
  • 4:04 - 4:07
    כשאתה מתחקים לאחור לראות מאיפה הכשל הגיע
  • 4:07 - 4:11
    לעיתים תכופות יש לך ברירה להסתכל על מספר מקורות שונין.
  • 4:11 - 4:17
    אבל מה שתרצה לעשות זאת ראשית לעקוב אחר המקורות הסבירים ביותר.
  • 4:17 - 4:23
    אם אתה יודע כבר שחלק מהמצב הוא כבר מודבק, כלומר שגוי, תוכל להתמקד בה ראשונה.
  • 4:23 - 4:29
    אם אתה יודע שמצב קודם הוא מה שגרם למצב העתידי,
  • 4:29 - 4:32
    אתה גם תרצה להתמקד בו.
  • 4:32 - 4:39
    אם אתה יודע מדיבאג סטטיסטי שתכונות מסויימות מתאימות עם הכשל - לך על זה.
  • 4:39 - 4:45
    ואם יש לך סיבה להאמין שמצב כלשהו הולך להיות עם באגים בכל מקרה,
  • 4:45 - 4:49
    לדוגמא, בגלל היסטוריית באגים, גם כן לך על זה.
  • 4:49 - 4:54
    וראינו טכניקות להחליט את כל אותם אסרשנים מסויימים
  • 4:54 - 5:00
    שעוזרים לנו רבות להבין מיידית תוך כדי הרצה
  • 5:00 - 5:03
    האם חלק מהמצב שגוי או לא.
  • 5:03 - 5:08
    השלב השישי הוא לבודד את שרשרת ההדבקה.
  • 5:08 - 5:14
    מה שזה אומר זה שלכל מקור, אתה הולך ומבצע ניסוי
  • 5:14 - 5:17
    לראות מה באמת הוא מקור הכשל.
  • 5:17 - 5:22
    לזה, אתה משתמש במתודה המדעית. אתה מגדיר השערה.
  • 5:22 - 5:26
    זו יכולה להיות הסיבה. זו יכולה להיות הסיבה. זו יכולה להיות הסיבה.
  • 5:26 - 5:29
    מגדיר חיזוי תואם.
  • 5:29 - 5:33
    מבצע ניסוי בהתאם לתצפית,
  • 5:33 - 5:38
    ואז או שאתה מעדן את ההשערה או שאתה מעדן אותה.
  • 5:38 - 5:44
    וודא שאתה מבצע שלבים אלה באופן מפורש מכיוון שהם יעזרו לך למדל את המחשבה
  • 5:44 - 5:50
    והם יעזרו לך להפריע ולחזור אל פעילות הדיבאג כשתצטרך.
  • 5:50 - 5:56
    אתה חוזר על שלב זה הלוך ושוב לכל התוכנית עד שאתה מגיע למקום
  • 5:56 - 6:03
    שבו המידע הנכנס הוא זהה אבל המידע היוצא הוא מודבק.
  • 6:03 - 6:11
    הפקודה שמייצרת את ההדבקה הזו היא הדפקט. זה השלב האחרון של הדיבאגינג.
  • 6:11 - 6:17
    לתקן את הדפקט, כך שלא יצור יותר הדבקה
  • 6:17 - 6:21
    אבל למעשה יגרום לתוכנית להתנהג כראוי.
  • 6:21 - 6:29
    לפני שאתה מתקן את הבעיה, אתה צריך להיות בטוח שהדפקט הוא אכן דפקט.
  • 6:29 - 6:34
    כלומר שאם נשנה אותו כראוי, הבעיה תתוקן.
  • 6:34 - 6:40
    צריכה להיות לך הבנה ברורה איך התיקון שלך מתקן את הדפקט.
  • 6:40 - 6:43
    ואז, ישנן מספר מטלות שצריכות להתבצע.
  • 6:43 - 6:46
    תצטרך לוודא שהכשל לא קורה עדיין.
  • 6:46 - 6:52
    תצטרך להיות בטוח שהתיקון שלך לא הציג בעיות חדשות
  • 6:52 - 6:57
    ושוב אסרשנים כפי שראינו אותם בקורס הזה, יעזרו לך מאוד עם זה.
  • 6:57 - 7:02
    תוכל גם לחפש את הקוד לבדוק האם אותה טעות
  • 7:02 - 7:06
    הוצגה במקום אחר ולתקן מקומות אלה גם כן.
  • 7:06 - 7:12
    שים לב ששבע שלבים אלה של הדיבאגינג יכולים להיזכר בקלות על ידי האותיות הראשונות
  • 7:12 - 7:15
    שמייצרות את המילה TRAFFIC
  • 7:15 - 7:21
    TRAFFIC (פקקי תנועה) לא יתקשר באופן מיידי עם דיבאגינג, אלא אם
  • 7:21 - 7:27
    אתה מדבג תוכניות עומסי תנועה, אבל הדרכים בהם הבעיה מחלחלת לתכנית
  • 7:27 - 7:30
    ומה שמתרחש תוך כדי הרצתה
  • 7:30 - 7:35
    יכול להיות מבלבל יותר מעומסי תנועה בעיר גדולה.
  • 7:35 - 7:41
    עם שבע שלבים אלה, אתה סיימת עם דיבאגינג, מזל טוב!
  • 7:41 - 7:43
    ועכשיו, בוא נמשיך לחלק הבא.
Tytuł:
06-02 שבעת שלבי הדיבאגינג
Video Language:
English
Team:
Udacity
Projekt:
CS259 - Software Debugging
Duration:
07:46
Fran Ontanaya edited hebrajski subtitles for The Seven Steps of Debugging - Software Debugging
itay.cohentevel added a translation

Hebrew subtitles

Revisions Compare revisions