Rilis debugger GDB 9

Disampaikan oleh rilis debugger GDB 9.1 (rilis pertama dari seri 9.x, cabang 9.0 digunakan untuk pengembangan). GDB mendukung debugging tingkat sumber untuk berbagai bahasa pemrograman (Ada, C, C++, Objective-C, Pascal, Go, dll.) pada berbagai perangkat keras (i386, amd64, ARM, Power, Sparc, RISC-V dan lain-lain) dan platform perangkat lunak (GNU/Linux, *BSD, Unix, Windows, macOS).

Kunci perbaikan:

  • Dukungan untuk platform Solaris 10 dan Cell Broadband Engine telah dihentikan;
  • Menambahkan simulator baru subsistem PRU (Programmable Real-time Unit) yang digunakan pada prosesor Texas Instruments (pru-*-elf);
  • Menambahkan mode eksperimental untuk memuat cepat simbol debugging dalam mode multi-thread (diaktifkan melalui pengaturan 'maint setworker-threads unlimited');
  • Dimungkinkan untuk menggunakan simbol '.' dalam nama perintah;
  • Menambahkan kemampuan untuk mengatur breakpoint pada fungsi dan subrutin bersarang di Fortran;
  • Pekerjaan telah dilakukan untuk menghadirkan gaya terpadu dan meningkatkan keterbacaan perintah;
  • Infrastruktur standar telah diterapkan untuk meneruskan argumen perintah menggunakan karakter tanda hubung ('-OPT'), yang memungkinkan pelengkapan otomatis menggunakan tombol tab;
  • Perintah “printf” dan “eval” mengimplementasikan dukungan untuk mengeluarkan string dalam gaya C dan Ada tanpa memanggil fungsi secara langsung dalam program;
  • Menambahkan dukungan untuk memfilter file keluaran berdasarkan ekspresi reguler di perintah “sumber info”;
  • Dalam pengaturan “setel argumen bingkai cetak”, parameter “kehadiran” diterapkan, ketika disetel, hanya indikator kehadiran “…” yang ditampilkan untuk argumen alih-alih menampilkan nama dan nilai;
  • Di antarmuka TUI perintah "fokus", "winheight", "+", "-", ">", "<" sekarang peka huruf besar-kecil;
  • Untuk perintah "print", "compile print", "backtrace", "frame"
    opsi apply", "tfaas" dan "faas" telah diterapkan untuk mengesampingkan pengaturan global (misalnya, pengaturan yang diatur melalui "set print […]");

  • Opsi "-q" telah ditambahkan ke perintah "tipe info" untuk menonaktifkan keluaran beberapa header;
  • Dalam pengaturan, alih-alih nilai “tidak terbatas”, Anda sekarang dapat menentukan “u”;
  • Perintah baru ditambahkan:
    • "define-prefix" untuk menentukan perintah awalan Anda sendiri;
    • "|" atau "pipe" untuk menjalankan perintah dan mengarahkan output ke perintah shell;
    • “dengan” untuk menjalankan perintah yang ditentukan dengan pengaturan yang diubah sementara;
    • “atur fungsi panggilan” untuk mengontrol apakah subrutin dapat dipanggil dari GDB;
    • "set print finish [on|off]" untuk mengontrol tampilan nilai yang dikembalikan saat menggunakan perintah "finish";
    • "atur kedalaman cetak" untuk membatasi keluaran struktur bersarang;
    • “setel nilai mentah cetak [on|off]” untuk mengaktifkan/menonaktifkan pemformatan nilai keluaran;
    • “set logging debugredirect [on|off]” untuk mengontrol penyimpanan keluaran debug ke file log;
    • Serangkaian perintah “set style” baru;
    • “set print frame-info […]” untuk menentukan informasi yang harus dicetak saat menampilkan status bingkai tumpukan;
    • “set tui compact-source” untuk mengaktifkan mode ringkas untuk menampilkan kode di antarmuka TUI (Text User Interface);
    • “modul info […]” untuk meminta informasi tentang modul Fortran;
    • Alih-alih “set/show print raw-frame-arguments”, perintah “set/show print raw-frame-arguments” diusulkan (menggunakan tanda hubung, bukan spasi sebagai pemisah);
  • Dalam antarmuka perangkat lunak kontrol GDB/MI menambahkan perintah baru “-complete”, “-catch-throw”, “-catch-rethrow”, “-catch-catch”, “-symbol-info-functions”, “-symbol-info-types”,
    "-symbol-info-variables", "-symbol-info-modules", "-symbol-info-module-functions" dan "-symbol-info-module-variables" setara dengan perintah GDB yang sama. Secara default, versi ketiga penerjemah MI diaktifkan (-i=mi3);

  • Menambahkan variabel bawaan baru:
    • $_gdb_major, $_gdb_minor;
    • $_gdb_setting, $_gdb_setting_str, $_gdb_maint_setting,
    • $_gdb_maint_setting_str
    • $_cimag, $_kreal
    • $_shell_kode keluar, $_shell_sinyal keluar
  • Menambahkan opsi “--with-system-gdbinit-dir” ke skrip build konfigurasi untuk menentukan jalur ke file sistem gdbinit;
  • Sejumlah perbaikan telah dilakukan pada Python API. Menambahkan kemampuan untuk membangun dengan Python 3 di Windows;
  • Persyaratan untuk lingkungan perakitan telah ditingkatkan. Membangun GDB dan GDBserver sekarang memerlukan setidaknya GNU make 3.82. Saat membangun dengan perpustakaan readline eksternal, setidaknya diperlukan GNU readline 7.0.

Sumber: opennet.ru

Tambah komentar