Έκδοση προγράμματος εντοπισμού σφαλμάτων GDB 13

Παρουσιάστηκε η κυκλοφορία του προγράμματος εντοπισμού σφαλμάτων GDB 13.1 (η πρώτη έκδοση της σειράς 13.x, ο κλάδος 13.0 χρησιμοποιήθηκε για ανάπτυξη). Το GDB υποστηρίζει εντοπισμό σφαλμάτων σε επίπεδο πηγής για ένα ευρύ φάσμα γλωσσών προγραμματισμού (Ada, C, C++, D, Fortran, Go, Objective-C, Modula-2, Pascal, Rust, κ.λπ.) σε διάφορα υλικά (i386, amd64 , ARM, Power, Sparc, RISC-V, κ.λπ.) και πλατφόρμες λογισμικού (GNU/Linux, *BSD, Unix, Windows, macOS).

Βασικές βελτιώσεις:

  • Προστέθηκε υποστήριξη για την εκτέλεση του προγράμματος εντοπισμού σφαλμάτων και του GDBserver σε αρχιτεκτονικές GNU/Linux/LoongArch και GNU/Linux/CSKY.
  • Έχει υλοποιηθεί η υποστήριξη για εργασία στην πλατφόρμα των Windows σε ασύγχρονη λειτουργία (async).
  • Στην πλατφόρμα του FreeBSD, έχει προστεθεί υποστήριξη για μεταβλητές TLS (Thread Local Storage) για τις αρχιτεκτονικές ARM και AArch64 και παρέχεται η δυνατότητα χρήσης σημείων διακοπής υλικού (watchpoint) για την αρχιτεκτονική AArch64.
  • Στο περιβάλλον GNU/Linux στα συστήματα LoongArch, έχει προστεθεί υποστήριξη για υπολογισμούς κινητής υποδιαστολής.
  • Εφαρμόστηκαν νέες εντολές "συντήρηση σύνολο ignore-prologue-end-flag|libopcodes-styling" και "maintenance print frame-id", καθώς και εντολές για τον έλεγχο του στυλ της αποσυναρμολογημένης εξόδου (set style disassembler *).
  • Προστέθηκαν οι εντολές "set print nibbles [on|off]" και "show print nibbles" για τον έλεγχο της εμφάνισης των δυαδικών τιμών σε ομάδες τεσσάρων byte.
  • Έχουν γίνει βελτιώσεις στο Python API. Προστέθηκε ένα API για οδηγίες αποσυναρμολόγησης, εφαρμόστηκε ο τύπος gdb.BreakpointLocation και προστέθηκαν οι συναρτήσεις gdb.format_address, gdb.current_language και gdb.print_options.
  • Η πρώτη έκδοση της διεπαφής διαχείρισης GDB/MI έχει καταργηθεί και θα καταργηθεί στο GDB 14.
  • Προστέθηκε υποστήριξη για ενότητες εντοπισμού σφαλμάτων που συμπιέζονται χρησιμοποιώντας τον αλγόριθμο zstd σε αρχεία ELF.
  • Προστέθηκαν νέες ενσωματωμένες μεταβλητές: $_inferior_thread_count, $_hit_bpnum, $_hit_locno.
  • Η μορφή εξόδου των εντολών 'disassemble /r' και 'record instruction-history /r' έχει προσαρμοστεί ώστε να ταιριάζει με την έξοδο του objdump. Για να επιστρέψετε την παλιά μορφή, έχει προστεθεί η λειτουργία "/b".
  • Στο TUI (Text User Interface), το στυλ του κώδικα πηγής και συναρμολόγησης που επισημαίνονται από την ένδειξη τρέχουσας θέσης είναι απενεργοποιημένο.
  • Είναι δυνατή η χρήση της εντολής "document" για την τεκμηρίωση εντολών χρήστη.
  • Προστέθηκε η δυνατότητα δημιουργίας dumps με δεδομένα ετικέτας μνήμης που χρησιμοποιούνται κατά τη χρήση του μηχανισμού ARMv8.5 MTE (MemTag, Memory Tagging Extension), ο οποίος σας επιτρέπει να συνδέετε ετικέτες σε κάθε λειτουργία εκχώρησης μνήμης και να οργανώνετε έναν έλεγχο δείκτη κατά την πρόσβαση στη μνήμη, η οποία πρέπει να συσχετίζεται με τη σωστή ετικέτα.
  • Η λειτουργία συμβατότητας DBX έχει διακοπεί.
  • Η υποστήριξη για δόμηση με χρήση Python 2 έχει διακοπεί.
  • Οι εντολές "set debug aix-solib on|off", "show debug aix-solib", "set debug solib-frv on|off" και "show debug solib-frv" έχουν αφαιρεθεί και οι εντολές "set/show debug" θα πρέπει να χρησιμοποιηθεί αντί solib."

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο