לדלג לתוכן

6.13 pdb (לא חובה) הרצאה

הקדמה

  • המודול pdb מאפשר לנו לדבג תכנות פייתון עם debugger שרץ בטרמינל
  • נשתמש בזה כשאין לנו גישה מישום מה לdebugger של PyCharm.
  • הרבה יותר קשה להשתמש בpdb מאשר הדיבאגר של PyCharm, ובדרך כלל תהיה לנו גישה לPyCharm אז זה לא כזה חשוב ללמוד pdb, ובגלל זה השיעור הזה הוא ופציונאלי - לא חובה. אני ממליץ לעשות את השיעור בכל מקרה :)

מודול pdb

  • מודול מובנה
  • פתחו את הקובץ פייתון שאותו תרצו לדבג וכתבו את השורה import pdb, וכדי להוסיף breakpoint הוסיפו ()pdb.set_trace
    import pdb
    
    # Your code.......
    
    pdb.set_trace()  # Sets a break point
    
    # Your code.......
    
  • אחרי שהוספנו breakpoint לקוד, נריץ את הקוד כרגיל, ברגע שהקוד יריץ את הbreakpoint, הקוד יעצר ויפתח הדיבאגר pdb, כדי לשלוט בדיבאגר אנחנו נתן לו פקודות.
  • רשימת הפקודות:
    • פקודה: n next - הרץ את השורה שאתה נמצא בה ועצור בשורה הבאה (אל תכנס לפונקציה) - דומה לstep over
    • פקודה: s step - הרץ את השורה שאתה נמצא בה ועצור בשורה הבאה (תכנס לפונקציות) - דומה לstep into
    • פקודה: c continue - המשך להריץ את הקוד עד לbreakpoint הבא.
    • פקודה: q quit - צא מהdebugger ועצור את התוכנה
    • פקודה: l list - הראה את הקוד שכרגע אנחנו מריצים
    • פקודה: p variable print - הדפס את המשתנה
    • פקודה: h help - הדפס הסבר על כל הפקודות

מודול ipdb

  • בדיוק כמו pdb, אבל עם ipython, אז יותר טוב :)
  • הריצו pip install ipdb
  • הריצו ipdb main.py