GDB 14.1 כבר שוחרר ואלה התכונות החדשות שלו

Debugger GNU

GNU Debugger הוא מאפר הבאגים הסטנדרטי עבור המהדר של GNU. זהו מאתר באגים נייד שניתן להשתמש בו בפלטפורמות Unix שונות.

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

למי שלא יודע על GDB, כדאי לדעת שזה הוא מאתר באגים עבור פרויקט GNU, ו-debugger זה מאפשר לך "לראות" מה קורה "בתוך" תוכנית אחרת בזמן שהיא פועלת, או מה תוכנה אחרת עשתה בזמן שהיה כשל.

Gdb יכול לעשות ארבעה סוגים עיקריים של דברים (בנוסף לדברים אחרים התומכים באלה) כדי לעזור למשתמש לזהות שגיאות בביצוע תוכניות:

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

תוכניות אלה יכולות להיות פועלות על אותו מכונה כמו GDB (מקורית), על מכונה אחרת (מרוחק), או בסימולטור. GDB יכול לפעול על רוב הגרסאות הפופולריות של UNIX ו-Microsoft Windows, כמו גם macOS.

Gdb תומך בניפוי באגים ברמת המקור עבור מגוון רחב של שפות תכנות, כגון: Ada, Assembly, C, C++, D, Fortran, Go, OpenCL, Objective-C, Modula-2, Pascal ו-Rust.

תכונות חדשות עיקריות של GDB 14.1

בגרסה החדשה הזו שמוצגת של GDB 14.1, זה תמיכה משולבת ראשונית עבור פרוטוקול מתאם ניפוי באגים (DAP) שפותחה על ידי מיקרוסופט וזה מאפשר הטמעת באגים גנרי כך שכלי הפיתוח יוכלו לתקשר עם מאפי הבאגים השונים באמצעות מתאמי איתור באגים, שבתורם ניתן לעשות שימוש חוזר בכלי פיתוח מרובים, זה בעצם מסתכם במאמץ לתמוך במפרק חדש בכלים שונים.

עוד מהשינויים הבולטים בגרסה החדשה הזו הם ה תמיכה שיפורים שיושמו, כמו ה תמיכה ראשונית עבור סוגי מספרים שלמים גדולים מ-64 סיביות, תמיכה בהפעלה או השבתה של פונקציות יעד מרוחקות בודדות, כמו גם תמיכה משופרת באדה עבור Ada 2022 מייחסים 'Enum_Rep ו'Enum_Val.

בנוסף, GDB מזהה כעת את משתנה הסביבה NO_COLOR ו יש תמיכת AArch64 משופרת, מאז נוספה תמיכה ראשונית עבור הרחבה SME ו-SME2.

יתר על כן, תכונות והגדרות GDB הוסרו הנתמכים כבר עם המהדורה החדשה, לדוגמה GDB 14.1 אינו תואם עוד ל-AiX 4.x, 5.x ו-6.x, התמיכה ב-GDB/MI גרסה 1 הוסרה.

נוספה פונקציית $_shell" לביצוע פקודה במעטפת ולהחזיר את התוצאה, הפקודה "רשימה" מקבלת כעת את '.' כארגומנט, כדי להדפיס את המיקום של נקודת הביצוע במסגרת המחסנית הנוכחית, הוסיף "%V" לפורמט הפלט עבור הפקודות printf ו-dprintf, הפקודה printf מגבילה כעת את גודל המחרוזות המתקבלות מפחות מהערך של ההגדרה 'max-value-size' ונוספו פקודות איתור באגים ותחזוקה חדשות.

לגבי שיפורים בתמיכה ב-Python, זו הייתה זו שקיבלה הכי הרבה והדבר הבא בולט:

  • שיעורים חדשים: gdb.Thread, gdb.unwinder.FrameId, gdb.ValuePrinter
  • תכונות חדשות: gdb.Lower.arguments, אשר שומר את הארגומנטים של שורת הפקודה למטה, אם ידוע, gdb.Lower.main_name, המכיל את שם ה'ראשי' של התחתון, אם ידוע, gdb.Breakpoint.Lower, gdb.Progspace.symbol_file, gdb.Progspace.executable_filename
  • פונקציות חדשות: gdb.execute_mi(COMMAND, [ARG]...), gdb.block_signals()
  • שיטות חדשות: gdb.Value 'to_array', gdb.Progspace 'objfile_for_address', 'gdb.Frame.static_link, gdb.Inferior 'clear_env', 'set_env' ו-'unset_env' 
  • אירועים חדשים: gdb.ThreadExitedEvent, gdb.ExecutableChangedEvent gdb.NewProgspaceEvent, ו-gdb.FreeProgspaceEvent.
  • ה-API של Disassembler של מודול gdb.disassembler הורחב כך שיכלול תמיכה בעיצוב
    gdb.parse_and_eval
  • התכונה gdb.unwinder.Unwinder.enabled יכולה כעת לקבל רק ערכים מסוג 'bool'.
    כעת כבר לא ניתן לסווג משנה את סוג gdb.disassembler.DisassemblerResult.

לבסוף, אם אתה מעוניין לדעת יותר על כך, אתה יכול לבדוק את הפרטים ב הקישור הבא.


השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי לנתונים: מיגל אנחל גטון
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.