קביעת נקודות עצירה
Download
Report
Transcript קביעת נקודות עצירה
חומרי עזר שהוכנו ע"י משתתפי קורס מורים מובילים תשע"א
ניתן להשתמש בחומרים לצורך הוראה בלבד.
אסור לפרסם את החומרים או לעשות בהם שימוש מסחרי כלשהו ללא קבלת אישור מראש מצוות הפיתוח
Java Debugging with Eclipse
הוכן על-ידי ויקי שנקרמן
. שבאמצעותן נעקוב אחרי תהליך הדיבגJAVA -ניצור שתי מחלקות ב
MAIN המחלקה
public class Main {
/**
* @param args
*/
public static void main(String[] args) {
1. Counter counter = new Counter();
2. counter.count();
3. System.out.println("We have counted " + counter.getResult());
}
}
COUNTER המחלקה
public class Counter {
private int result=0;
public int getResult() {
return result;
}
public void count() {
* for (int i = 0; i < 10; i++) {
result += i +1;
}
}
תהליך ניפוי שגיאות DEBUGGING
נתייחס לשני סוגים של שגיאות .
הסוג הראשון :
שגיאות שמתגלות בזמן הקומפילציה.
ונגרמות כתוצאה מכתיבת הוראות שלא על פי חוקי השפה
הסוג השני :
שגיאות שמתגלות בזמן שהתוכנית רצה .
ונגרמות כתוצאה מהבעיות בלוגיקה של התוכנית.
תכנית יכולה לרוץ עד הסוף ,אך הפלט שלה יהיה שגוי או
שהרצת התכנית תופסק באמצע ותופיע הודעת שגיאה.
על מנת לבודד את הקוד הבעייתי ,ניתן להפעיל תוכנה המשלימה את
הקומפיילר ונקראת דיבאגר . DEBUGGER
הדיבאגר מאפשר למתכנת להפעיל את התוכנה צעד צעד ולעקוב אחרי ביצוע
כל פקודה ופקודה .כך ניתן לבדוק את ערכי המשתנים לפני ואחרי כל
פקודה ופקודה ולעקוב אחרי השינויים המתרחשים בהם בזמן ביצוע
התכנית.
על מנת להריץ תכנת הדיבגר יש לקבוע נקודות עצירה.
קביעת נקודות עצירה
breakpoints
כדי לסמן נקודת עצירה -הצבע על העמודה השמאלית ביותר.
בחלון שנפתח בלחיצה על המקש הימני יש לבחור באפשרות הראשונה
Toggle Breakpointאו ללחוץ לחיצה כפולה על המקש השמאלי.
קביעת נקודת עצירה
אחרי שנקבעו נקודות עצירה ניתן להריץ את תכנת הדיבגר
הרצת תכנית הדיבג.
א .סמן מחלקה עם פעולה ראשית
ב .בחר בDEBUG AS -
כאשר מריצים תכנית בדיבג בפעם הראשונה ECLIPSEמציע לעבור
מתצוגת JAVAלתצוגת DEBUG
תצוגת
JAVA
תכנית תעצור בנקודת העצירה הראשונה שסימנו.
אם לא סימנו נקודות עצירה ,לא נוכל לעקוב אחרי ביצוע
התכנית והיא תרוץ רגיל .
DEBUGING
תצוגת
DEBUG
מקום
העצירה
מעקב אחרי
ביצוע
חלון
המשתנים
תכנית נעצרת במקום שקבענו
תהליכים שניתן לבצע בזמן הדיבג
F8ניתן להריץ שורה בודדת של הקוד .ההרצה תיעצר בשורה הבאה.
F5אם הפקודה היא קריאה לפעולה,
ההרצה נכנסת לקוד הפעולה ועוצרת בפקודה הראשונה שבתוך הפעולה.
כך ניתן לעקוב אחרי ביצוע הפעולה שורה אחרי שורה
יש לבחור באפשרות זו אם חושדים שהבעיה נגרמת בתוך הפעולה.
F6ניתן לבחור באופציה דלג על הפעולה
נבחר באפשרות הזאת כאשר יודעים בוודאות שאין בעיה בתוך הפעולה
F8מריץ את התכנית עד לנקודת העצירה הבאה
חלון VARIABLES
ערכי
המשתנים
בחלון הזה ניתן לראות את ערכי המשתנים במהלך
ביצוע התכנית
קביעת פורמט בו יוצגו ערכי המשתנים
בדיקת ערכים של קבועים ומשתנים סטטיים
: שאלות
. מחק את השורה הראושנה בפעולה הראשית.1
? שגיאת קומפילציה או שגיאת זמן ריצה: איזה סוג של טעות נקבל
•
•
•
•
•
•
•
•
•
•
•
•
public class Main {
/**
* @param args
*/
public static void main(String[] args) {
1. Counter counter = new Counter(); (1)
2. counter.count();
3. System.out.println("We have counted " + counter.getResult());
}
}
החזר את השורה הראשונה.
.2שורה זו יוצרת עצם מסוג COUNTERומשתמשת בפעולה בונה.
במחלקה COUNTERאין פעולה בונה .באיזו פעולה בונה משתמשים
בשורה הראשונה?
.3הוסף נקודות עצירה במקומות המסומנים ב*-
ותאר ערכים של המשתנה resultבטבלת מעקב.