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

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

Κλειδί βελτιώσεις:

  • Η υποστήριξη για τις πλατφόρμες Solaris 10 και Cell Broadband Engine έχει διακοπεί.
  • Προστέθηκε ένας νέος προσομοιωτής του υποσυστήματος PRU (Programmable Real-time Unit) που χρησιμοποιείται σε επεξεργαστές Texas Instruments (pru-*-elf).
  • Προστέθηκε μια πειραματική λειτουργία για γρήγορη φόρτωση συμβόλων εντοπισμού σφαλμάτων σε λειτουργία πολλαπλών νημάτων (ενεργοποιημένη μέσω της ρύθμισης "maint set worker-threads unlimited").
  • Είναι δυνατή η χρήση του συμβόλου '.' στα ονόματα εντολών.
  • Προστέθηκε η δυνατότητα ορισμού σημείων διακοπής σε ένθετες συναρτήσεις και υπορουτίνες στο Fortran.
  • Έγιναν εργασίες για να επιτευχθεί ένα ενιαίο στυλ και να βελτιωθεί η αναγνωσιμότητα των εντολών.
  • Έχει υλοποιηθεί μια τυπική υποδομή για τη μετάδοση ορισμάτων εντολών χρησιμοποιώντας τον χαρακτήρα παύλας ('-OPT'), που επιτρέπει την αυτόματη συμπλήρωση χρησιμοποιώντας το πλήκτρο tab.
  • Οι εντολές "printf" και "eval" υλοποιούν υποστήριξη για την έξοδο συμβολοσειρών σε στυλ C και Ada χωρίς απευθείας κλήση μιας συνάρτησης στο πρόγραμμα.
  • Προστέθηκε υποστήριξη για το φιλτράρισμα των αρχείων εξόδου με βάση μια κανονική έκφραση στην εντολή "πηγές πληροφοριών".
  • Στη ρύθμιση "ορισμός τεμαχίων πλαισίου εκτύπωσης", εφαρμόζεται η παράμετρος "παρουσία", όταν οριστεί, εμφανίζεται μόνο η ένδειξη παρουσίας "..." για ορίσματα αντί για εμφάνιση του ονόματος και της τιμής.
  • Στη διεπαφή TUI Οι εντολές "focus", "winheight", "+", "-", ">", "<" έχουν πλέον διάκριση πεζών-κεφαλαίων.
  • Για τις εντολές "print", "compile print", "backtrace", "frame"
    Εφαρμόστε, οι επιλογές "tfaas" και "faas" έχουν εφαρμοστεί για να παρακάμψουν τις καθολικές ρυθμίσεις (για παράδειγμα, αυτές που ορίζονται μέσω του "set print [...]").

  • Η επιλογή "-q" προστέθηκε στην εντολή "τύποι πληροφοριών" για να απενεργοποιήσετε την έξοδο ορισμένων κεφαλίδων.
  • Στις ρυθμίσεις, αντί για την τιμή "απεριόριστη", μπορείτε τώρα να καθορίσετε "u".
  • Προστέθηκαν νέες εντολές:
    • "define-prefix" για να ορίσετε τις δικές σας εντολές προθέματος.
    • "|" ή "pipe" για να εκτελέσετε μια εντολή και να ανακατευθύνετε την έξοδο σε μια εντολή φλοιού.
    • "με" για να εκτελέσετε την καθορισμένη εντολή με προσωρινά αλλαγμένες ρυθμίσεις.
    • "Ρύθμιση συναρτήσεων may-call-functions" για να ελέγξετε εάν μια υπορουτίνα μπορεί να κληθεί από το GDB.
    • "set print finish [on|off]" για έλεγχο της εμφάνισης της τιμής επιστροφής όταν χρησιμοποιείται η εντολή "finish".
    • "ρύθμιση μέγιστου βάθους εκτύπωσης" για περιορισμό της παραγωγής ένθετων δομών.
    • "ρυθμίστε τις μη επεξεργασμένες τιμές εκτύπωσης [on|off]" για να ενεργοποιήσετε/απενεργοποιήσετε τη μορφοποίηση των τιμών εξόδου.
    • "Ρύθμιση αποσφαλμάτωσης καταγραφής [on|off]" για τον έλεγχο της αποθήκευσης της εξόδου εντοπισμού σφαλμάτων σε ένα αρχείο καταγραφής.
    • Μια σειρά από νέες εντολές "set style".
    • "Ρύθμιση πλαισίου εκτύπωσης-πληροφορίες [...]" για να ορίσετε τις πληροφορίες που πρέπει να εκτυπωθούν κατά την εμφάνιση της κατάστασης του πλαισίου στοίβας.
    • "ρυθμίστε τη συμπαγή πηγή tui" για να ενεργοποιήσετε τη συμπαγή λειτουργία για την εμφάνιση κώδικα στη διεπαφή TUI (Text User Interface).
    • «ενότητες πληροφοριών […]» για να ζητήσετε πληροφορίες σχετικά με τις μονάδες Fortran.
    • Αντί για "set/show print print raw frame-arguments", προτείνεται η εντολή "set/show print raw-frame-arguments" (χρησιμοποιεί μια παύλα αντί για ένα κενό ως διαχωριστικό).
  • Σε διεπαφή λογισμικού ελέγχου GDB/MI πρόσθεσε νέες εντολές "-ολοκλήρωση", "-σύλληψη-ρίψη", "-σύλληψη-επαναρίψη", "-σύλληψη-σύλληψη", "-σύμβολο-πληροφορίες-λειτουργίες", "-σύμβολο-πληροφορίες",
    "-symbol-info-variables", "-symbol-info-modules", "-symbol-info-module-functions" και "-symbol-info-module-variables" είναι ισοδύναμα με τις ίδιες εντολές GDB. Από προεπιλογή, η τρίτη έκδοση του διερμηνέα MI είναι ενεργοποιημένη (-i=mi3).

  • Προστέθηκαν νέες ενσωματωμένες μεταβλητές:
    • $_gdb_major, $_gdb_minor;
    • $_gdb_setting, $_gdb_setting_str, $_gdb_maint_setting,
    • $_gdb_maint_setting_str
    • $_cimag, $_creal
    • $_shell_exitcode, $_shell_exitsignal
  • Προστέθηκε η επιλογή «--with-system-gdbinit-dir» στο configure build script για τον προσδιορισμό της διαδρομής προς τα αρχεία συστήματος gdbinit.
  • Έχουν γίνει ορισμένες βελτιώσεις στο Python API. Προστέθηκε η δυνατότητα δημιουργίας με Python 3 στα Windows.
  • Οι απαιτήσεις για το περιβάλλον συναρμολόγησης έχουν αυξηθεί. Η οικοδόμηση GDB και GDBserver απαιτεί τώρα τουλάχιστον GNU make 3.82. Κατά τη δημιουργία με εξωτερική βιβλιοθήκη ανάγνωσης, απαιτείται τουλάχιστον GNU readline 7.0.

Πηγή: opennet.ru

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