Bash:
שימוש במנפה שגיאות

איך לעשות:

Bash לא בא עם מנפה שגיאות מובנה כמו כמה שפות אחרות, אבל אפשר להשתמש בפקודות מובנות כמו set -x כדי לעקוב אחר מה שקורה. או, לשדרוג, קיים bashdb, מנפה שגיאות ראוי לעבור דרך הקוד שלך. הנה הצצה:

# שימוש ב-set -x לניפוי שגיאות
set -x
echo "מתחילים לנפות שגיאות"
my_var="שלום, עולם הניפוי!"
echo $my_var
set +x

# שימוש ב-bashdb
# התקנת bashdb עם מנהל החבילות שלך, למשל, apt, yum, brew.
# ניפוי של תסריט בשם my_script.sh:
bashdb my_script.sh

פלט כאשר מריצים עם set -x:

+ echo 'מתחילים לנפות שגיאות'
מתחילים לנפות שגיאות
+ my_var='שלום, עולם הניפוי!'
+ echo 'שלום, עולם הניפוי!'
שלום, עולם הניפוי!
+ set +x

צלילה עמוקה

בהיסטוריה, ניפוי שגיאות בתסריטי Bash אומר להפוך את הקוד שלך למלא בהדפסות echo. אבל אז הגיע set -x, שנתן לנו הצצה לביצוע בזמן ריצה ללא הדפסות ידניות. ולמי שמרגיש צורך ביותר שליטה, המנפה שגיאות bashdb צץ, מושרה מהמנפה שגיאות ל-C/C++ gdb.

בנוגע לאלטרנטיבות, מעבר לפקודות set (-x, -v, -e), אפשרויות נוספות כוללות הפניית פלט לקובץ לניתוח או שימוש בכלים חיצוניים כמו ShellCheck לניתוח סטטי.

מבחינת היישום, set -x קלה; זו אפשרות של Bash מקורית שמדפיסה פקודות והארגומנטים שלהן כשהן מתבצעות. bashdb, מצד שני, מאפשר לעבור דרך הקוד, להגדיר נקודות עצירה, ולהעריך ביטויים - דברים שנותנים לך סיכוי ליחימה נגד באגים החמקמקים יותר.

ראה גם