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

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

הבאגים הראשי ב- Linux הוא מאתר הבאגים של GNU (gdb). זה אולי כבר מותקן על המערכת שלך (או גרסה slimmed למטה בשם gdb מינימלי), אבל כדי להיות בטוח סוג הפקודה הבאה במסוף:

 sudo apt-get להתקין את gdb 

כדי להשתמש במאתר הבאגים, עליך לומר למהדר לכלול מידע באגים בבינארי. צור קובץ בשם "hello10.c" באמצעות nano:

 ננו 

העתק והדבק את הקוד הבא:

 #include main () {int i; עבור (i = 0; i <10; i ++) printf ("% d" i); } 

דגל "g" אומר מהדר לייצר מידע debug, אז כדי לקמפל את השימוש בתוכנית:

 gcc -g -o hello10 hello10.c 

כדי להתחיל באגים בסוג התוכנית:

 GDB שלום 

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

 הפסקה הראשי 

עכשיו להתחיל את התוכנית:

 לָרוּץ 

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

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

 ט 

חזור על הלולאה ועל עוד כמה פעמים ולראות איך "אני" השינויים:

 הבא הבא הבא אני 

בדוגמה לעיל "אני" הגיע הערך של 4. לולאה תמשיך בעוד "אני" הוא פחות מ 10. אתה יכול לשנות את הערך של משתנה באמצעות "בחר var." הקלד את הבא ב- gdb כדי להגדיר את "i" ל -10.

 הגדר var i = 10 להדפיס אני הבא 

ייתכן שתצטרכו לעשות עוד "הבא" (בהתאם למקום שבו הופסקה התוכנית כאשר אתם מגדירים את "i" ל 10), אך כאשר השורה "for" לולאה תבוצע בפעם הבאה, הלולאה תצא, מכיוון ש "i" עוד פחות מ -10.

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

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

התוכנית תעצור ב הראשי (כפי שאנחנו לא להסיר את נקודת הפסקה). עכשיו להגדיר שעון על "אני":

 אני ממשיך לצפות 

פקודת "המשך" תתחיל את פעולת התוכנית עד לתנאי נקודת השבירה הבאה. במקרה זה זה יפעל שוב עד משתנה "i" משתנה (עקב השעון).

כדי להפסיק באגים, פשוט להשתמש בפקודה "צא".

אם אתה רוצה ללמוד עוד על gdb, אז מקום טוב להתחיל הוא תיעוד GDB. אם יש לך בעיה עם הדוגמאות שניתנו לעיל, אנא השתמש בסעיף הערות להלן ואנו נראה אם ​​נוכל לעזור.