מטרת מדריך זה להשלים את הפער בין החומר התאורטי הנלמד בכתה או מספר לימוד, לבין העבודה המעשית על המערכת.
המדריך מיועד לתלמידים המתחילים את הלימוד התאורטי של שפת C, וזקוקים להדרכה כיצד לכתוב ולהדר את התכניות הראשונות שלהם במערכת GNU/Linux.
המדריך נבנה על מערכת Ubuntu GNU/Linux אך כל מערכת לינוקס תתאים. הוראות ההתקנה המדוייקות ספציפיות למערכת מבוססת Debian GNU/Linux, אך ינתנו הסברים כלליים גם עבור מערכות אחרות.
עברו על המדריך לכתיבת תכנית בשפת C ובשימוש במהדר gcc ובדקו שאתם שולטים בכתיבה, הידור והרצה של תכניות C פשוטות:
כמו שראינו במדריך לשימוש ב gcc, ניתן להשתמש בדגל Wall- כדי לבקש מהמהדר לזהות יותר שגיאות בקוד. אך יש שגיאות שלא ניתן לזהות במהלך הידור התכנית, צריך לחפש אותן במהלך הריצה. תכנת gdb מאפשרת להריץ את קובץ ההרצה שיצרנו בתוך עטיפה המאפשרת לעצור את התכנית מידי פעם ולשאול שאלות (ואף לשנות) לגבי ערכי משתנים, ומצב המערכת בזמן ריצת התכנית. מטרת המעטפת לעזור למשתמש לזהות מצבים הנוצרים במהלך ריצת התכנית ואינם מתוכננים מראש.
כדי להפיק את המירב מתהליך הדיבוג צריך להשאיר בקובץ ההרצה סימנים ל gdb שיעזרו לו לתת מידע רב ככל האפשר על התכנית בזמן הריצה. אנו נבקש מהמהדר בו נשתמש gcc / g++ / as להשאיר סמנים אלו בקובץ ההרצה ע”י הדגל -g
gcc -g -Wall hello.c -o hello
הרצת gdb עבור קובץ ההרצה hello שיצרנו בפקודה למעלה.
gdb hello
לאחר הרצת gdb הדיבגר יחכה להוראות, אפשר ללמוד על ההוראות האפשריות ע”י הפקודה help או <help <subject
help break
מדריך זה יעבור על מעט מהפקודות השימושיות יותר, כדי ללמוד יותר על הפקודות האפשריות מהמדריך באתר ה gnu: מדריך gdb
אפשר ללמוד יותר על כל אחת מהפקודות הנ”ל ועל פקודות נוספות ע”י הפקודה help
run
הרץ את התכנית
next
כאשר התכנית במצב עצירה, קפוץ לשורה הבאה
jump address
קפוץ למקום כלשהוא בתכנית
break function_name / address
הגדר נקודת עצירה, נקודת עצירה יכולה להיות מספר שורה כמו 23:hello.c התכנית תעצור בשורה 23 בקובץ hello.c או שם של פונקציה כמו writeln אז התכנית תעצור כאשר תגיע לפונקציה זו.
cont
המשך לרוץ עד לנקודת העצירה הבאה
backtrace
הדפס את החסנית
print var_name
הדפס תוכן משתנה
set var_name = value
קבע תוכן משתנה
list
הדפס את השורות של קוד המקור
quit
צא מהדיבגר
בהמשך העבודה בודאי תרצו להתקין כלי פיתוח נוספים וספריות פיתוח חדשות. אפשר למצוא מדריכים לשימוש בכלים אלו ברשת ופה באתר.
מדריכי תכנות - אוסף מדריכי התכנות בפנגווין.