PracticU

Debugging in JavaScript

בלי כתוביותעם כתוביות
PracticU › קורס Javascript כולל JQuery › Debugging in JavaScript
מילון מושגים:
JavaScript - שפת תכנות שרצה בעיקר בדפדפן ומוסיפה אינטראקטיביות לדפי אינטרנט. רצה גם בצד השרת באמצעות Node.js.
Visual Studio - סביבת פיתוח משולבת (IDE) של מיקרוסופט לכתיבה, ניפוי והרצה של קוד, בעיקר בשפות .NET.
דיבאג - תהליך של איתור, הבנה ותיקון תקלות בקוד, לעיתים בעזרת כלי שמאפשר לעצור ולעקוב אחר ריצת התוכנית.
לולאה - מבנה בקרה שחוזר על קטע קוד שוב ושוב כל עוד תנאי מתקיים או עבור כל פריט באוסף.
מערך - מבנה נתונים שמאחסן אוסף ערכים מאותו סוג ברצף, שאפשר לגשת אליהם לפי מספר מיקום (אינדקס).
סקריפט - קובץ המכיל רצף פקודות שמבוצעות על ידי מפרש, לרוב כדי להפוך משימות לאוטומטיות.
DOM - ייצוג עץ של מבנה דף HTML בזיכרון, שמאפשר לקוד לקרוא ולשנות את תוכן הדף ומבנהו.
CSS - שפת עיצוב שקובעת את המראה של דפי אינטרנט: צבעים, גופנים, מיקום וסידור הרכיבים.

Debugging in JavaScript
השיעור מסביר איך מדבגים קוד JavaScript: עוצרים את הריצה, עוברים שורה אחרי שורה ועוקבים אחרי ערכי המשתנים. ההדגמה נעשית ב-Visual Studio ואחר כך בכלי הדיבאג של הדפדפן.
עצירה וניווט
1. debugger: כותבים את המילה בקוד, והדפדפן עוצר בשורה הזו כשהריצה מגיעה אליה.
2. הרצה ב-Visual Studio: בהודעה שמופיעה בוחרים להריץ את הדיבאג במופע הנוכחי של Visual Studio. השורה הצהובה מציינת את השורה שממתינה לביצוע.
3. מקשי הניווט: Step Over מבצע את השורה הבאה בלי להיכנס לפונקציה, Step Into נכנס לתוך הפונקציה, ו-Step Out יוצא מהפונקציה הנוכחית.
מעקב אחרי ערכים
4. ריחוף: עומדים עם העכבר על משתנה כדי לראות את ערכו. משתנה שעדיין לא אותחל מציג undefined.
5. חלון Watch: גוררים לתוכו משתנים או ביטויים, כמו arr.length, והערכים מתעדכנים בכל צעד.
6. שינויים: משתנה ששונה בשורה שהורצה מסומן באדום.
בהדגמה לולאה ממלאת מערך בערכי i * i, מסכמת אותם ומציגה את הסכום באלרט. הדיבאג מאפשר לבדוק כל שלב בלולאה.
דיבאג בדפדפן
7. Firebug: כלי דיבאג של Firefox. פותחים אותו עם F12, שמים נקודות עצירה בסקריפט ומריצים את הפונקציה. הכלי מציג גם את ה-DOM וה-CSS, ואפשר לשנות אותם.
מילון מושגים:
קוד מקור - הקוד שמפתחים כותבים בשפת תכנות, לפני הידור, המגדיר את פעולת התוכנה.
Java - שפת תכנות עילית ומונחית עצמים, הרצה על מכונה וירטואלית (JVM) ומשמשת לפיתוח מגוון יישומים.

להורדת קוד מקור של כל הדוגמאות בקורס  JAVA SCRIPT למתחילים -לחץ כאן לתלמידי המכללה בלבד

להורדת קוד מקור של כל הדוגמאות בקורס  JAVA SCRIPT למתקדמים- לחץ כאן לתלמידי המכללה בלבד

פרקי ההרצאה: Debugging in JavaScript

  1. 00:00

    מהו debugging

  2. 00:40

    כתיבת קוד לבדיקה

  3. 02:15

    עצירה עם המילה debugger

  4. 03:15

    Step Into, Over ו-Out

  5. 04:08

    מעקב אחר ערכי משתנים

תמלול ההרצאה: Debugging in JavaScript

הטקסט המלא של הדקות הראשונות בהרצאה «Debugging in JavaScript» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:01

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

  2. 00:11

    מה קורה אם יש לנו איזשהו באג ואיך אנחנו יכולים לדבג אותו אז הכוונה בדיבגינג זה לעבור שורה שורה ולראות את המשתנים שיש לנו בקוד זה בגדול מה שאנחנו רוצים לעשות לצורך כך בואו נבנה לחצן input type button value בוא נניח הוא עושה משהו do something.

  3. 00:33

    וב-on-click נקרא לפונקציה שנקרא לה do something. שאנחנו הולכים לכתוב אותה ב-JavaScript. לא נשתמש כרגע ב-JQuery בשביל להעביר את הרעיון.

  4. 00:47

    נכתוב פה function, do something, ונכתוב בה איזשהו קוד מאוד פשוט. לדוגמה, בואו ניצור מערך, נרוץ על המערך הזה, על ה-length שלו, נגדיר אותו לפני זה כ-5 תאים, ומה שנעשה זה קודם כל נכניס לתוך כל תא את בוא נניח i כפול i, נגדיר כאן איזשהו משתנה נוסף לצורך סכימה,

  5. 01:31

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

  6. 02:04

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

  7. 02:14

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

  8. 02:53

    בואו נדבר כרגע באותו מופע של ויז'ל סטודיו שהדף מוצג עליו. אנחנו לוחצים על yes. אותו מופע של ויז'ל סטודיו נפתח, אנחנו יכולים לראות אותו פה למטה.

  9. 03:05

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

  10. 03:19

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

  11. 03:36

    step over שזה אומר קפוץ לשורה הבאה אבל אם אתה נמצא על פונקציה אז תבצע אותה בלי להיכנס לתוכה. step out צא מהפונקציה הנוכחית.

  12. 03:48

    אז בואו נלחץ על step over ואנחנו עוברים לשורה הבאה. הדבר הבא שאנחנו יכולים לראות זה שאני יכול לעמוד עם העכבר מעל משתנה ולראות מה ערכו ואני רואה כרגע ש-i הוא undefined כלומר עדיין לא הכנסנו לתוכו את הערך 0 וזה הגיוני מפני שהשורה שצבועה לנו בצהוב או יותר נכון הפקודה שצבועה לנו בצהוב

  13. 04:12

    זה פקודה שעדיין לא התבצעה ורק כשאני מלחץ f10 או f11 היא תתבצע. בואו ננסה להציג כאן סרגל שקשור רק לדיבאג. אני רואה שהוא קיים לי הנה הוא פה בואו ניקח אותו ונשים אותו כאן ואז יש לנו את שלושת אלה step into step over וstep out בהישג יד ואנחנו יכולים ללחוץ עליהם עם העכבר ואנחנו רואים שקפצנו לפקודה הבאה וi כרגע ערכו 0.

  14. 04:45

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

לקורס המלא: קורס Javascript אונליין

ההרצאה הקודמת: jQuery

הרצאות קשורות מקורסים אחרים

  • Javascript in JavaSelenium
  • הבדלים בין Testing לבין Debugging
  • ריאקט דיבאג עם Chrome - React Debugging
  • עקיפה של הגנת Anti-Debugging עם IDA

קורסים נוספים במסלול

  • קורס יסודות HTML - בניית אתר אינטרנט פשוט
  • קורס CSS 3 - בדגש על Flex & Grid
  • קורס ג'אווה סקריפט מעשי - JavaScript
  • קורס TypeScript
  • קורס ריאקט - React
  • קורס NodeJS