|fav המועדפים שלי |pad מחברת אישית|talckback תגובות הקוראים|poll השתתף בסקר |
  
|about אודות|eitan home page   תפריט איתן
DeBugging

Home Page על האתר מפת אתר מילון מונחים ספרים קישורים

מציאת בעיות DeBugging

בעיה בתוכנה ניתן לחלק לשני חלקים: בעיית תחביר (Syntax) שהיא בעיה בצורה בה רשמנו את הקוד, ובעיה לוגית שהיא בעיה בדרך בה ניסינו לממש בקוד את מטרות התוכנית.

בעיות תחביר קל יחסית למצוא VB מודיעה לנו במהרה על הבעיה, ואנו יכולים לתקנה.

אך כאשר מופיעה בעיה לוגית זה כבר סיפור אחר. בעיות לוגיות זכו לשם "באג" BUG כלומר חרק באנגלית. המקור לכך הוא שבעיית התוכנה הראשונה בהיסטוריה, בשנות החמישים, הייתה חיפושית מתה שנכנסה לתוך אחד ממחשבי הענק של אז והפריעה לפעולתו.

איך מזהים בעיה לוגית? כאשר מקבלים תוצאות שונות מהצפוי.
דוגמה: תוכנית לחישוב מכפלה בעזרת לולאה נסו, למשל, ליצור תוכנית חדשה. התוכנית הבאה אמורה לחשב את מכפלת המספרים מאחד עד חמש. שימו על הטופס כפתור, והצמידו אליו את הקוד הבא:

Dim I As Integer
Dim C As Integer
For I = 1 To 5
C = 1
C = C * I
Next I
MsgBox "Result: " & C

כאשר תריצו את התוכנית, תראו שהתוצאה היא .5 למה?

במבט ראשון קשה לראות. לכן, נריץ את התוכנית במצב DeBug כלומר, במצב בדיקה נגד בעיות. כדי לעשות זאת, לוחצים על F8 כדי להריץ את התוכנית. במצב זה, נצטרך ללחוץ F8 למעבר על הקוד שורה אחר שורה.

דוגמא למסך שתראו :

לחץ לתמונה גדולה

אחרי שנריץ את התוכנית ונלחץ על הכפתור, נתחיל לעבור על הקוד. בכל שורה אנו יכולים לבדוק את ערך המשתנים שבה באמצעות סימונם ולחיצה על Shift+F9(לעיתים מספיק להציב עת העכבר על שם המשתנה).

כך נעבור בין השורות, ובכל שורה בה אנו רואים את ,C נבדוק את ערכו, נריץ את השורה (על-ידי הקשת F8) ושוב נבדוק את ערכו.

וראו פלא: בכל פעם שעוברים על השורה הרביעית: ,C=1 נקבע ערכו של C ל- 1 מצאנו את הבאג! בטעות אנו מאתחלים את C בכל פעם שאנו עוברים בלולאה!

כעת, צריך רק למצוא מקום אחר לאתחל את C מחוץ ללולאה.
הקוד החדש כבר יעבוד כמו שצריך:

Dim I As Integer
Dim C As Integer
C = 1
For I = 1 To 5
C = C * I
Next I
MsgBox "Result: " & C

נקודות עצירה BreakPoints

כאשר התוכניות גדלות, לא נוח לעבור על תוכנית שלמה בלחיצה על .F8 לשם כך קיימות נקודות העצירה.

נקודת עצירה היא סימון ל- VB לעצור במיקום מסוים בקוד התוכנית בעת הרצתה הסימון מופיע כנקודה אדומה משמאל לפקודה בקוד.

ניתן לראות את הנקודה האדומה במסך הדוגמא :

לחץ לתמונה גדולה

כדי ליצור נקודת עצירה, יש ללחוץ על הפס האפור שמשמאל לשורת הקוד. בצורה דומה גם מסירים את נקודת העצירה.

שימו לב כי הגדרות משתנים אינן יכולות להיות נקודות עצירה אחרי שמגדירים נקודות עצירה, מריצים את התוכנית כרגיל. כאשר VB יגיע לנקודת העצירה, הוא יעשה הפסקה, ויראה למתכנת היכן עצר. מכאן ניתן לבצע מספר דברים:

בצורה זו ניתן לבדוק את התוכניות שאנו כותבים. כאשר מוצאים כי התוכנית מתנהגת בצורה שונה ממה שציפינו שם נמצא הבאג. שם יש לבדוק מחדש את ההיגיון שמאחורי הקוד שכתבנו אולי מסתתרת פה בעיה לוגית.




הכרות ראשונית
הכרת השפה
טפסים
פקדים
תפריטים
  ניפוי שגיאות
סביבת פיתוח
סביבת פיתוח
סביבת פיתוח
עבודה עם פקדים
עבודה עם פקדים
עבודה עם פקדים
אופרטורים לוגיים
אופרטורים לוגיים
אופרטורים לוגיים
מבני החלטה
מבני החלטה
מבני החלטה
שגרות
שגרות
שגרות
משתנים
משתנים
משתנים
אובייקטים
אובייקטים
אובייקטים
מודולים
מודולים
מודולים
אירועים
אירועים
אירועים
פונקציות מוכללות
פונקציות מוכללות
פונקציות מוכללות
שגרות מוכללות
שגרות מוכללות
שגרות מוכללות
מהם משתנים
מהם משתנים
מהם משתנים
סוגי משתנים
סוגי משתנים
סוגי משתנים
המרת משתנים
המרת משתנים
המרת משתנים
קבועים ואופרטורים
קבועים ואופרטורים
קבועים ואופרטורים
מערכים
מערכים
מערכים
אוספים
אוספים
אוספים
מבוא
מבוא
מבוא
תכונות
תכונות
תכונות
עבודה עם טפסים
עבודה עם טפסים
עבודה עם טפסים
שמות
שמות
שמות
תכונות כלליות
תכונות כלליות
תכונות כלליות
פירוט פקדים
פירוט פקדים
פירוט פקדים
יצירת תפריטים
יצירת תפריטים
יצירת תפריטים
עיצוב תפריט
עיצוב תפריט
עיצוב תפריט
Pop-Ups  
Pop-Ups  
Pop-Ups  
טיפול בשגיאות
טיפול בשגיאות
טיפול בשגיאות
Debugging
Debugging
Debugging
שגיאות נפוצות
שגיאות נפוצות
שגיאות נפוצות