Keluaran penyahpepijat GDB 9

Dikemukakan oleh keluaran penyahpepijat GDB 9.1 (keluaran pertama siri 9.x, cawangan 9.0 telah digunakan untuk pembangunan). GDB menyokong penyahpepijatan peringkat sumber untuk pelbagai bahasa pengaturcaraan (Ada, C, C++, Objective-C, Pascal, Go, dll.) pada pelbagai perkakasan (i386, amd64, ARM, Power, Sparc, RISC-V dan lain-lain) dan platform perisian (GNU/Linux, *BSD, Unix, Windows, macOS).

kunci penambahbaikan:

  • Sokongan untuk platform Solaris 10 dan Enjin Jalur Lebar Sel telah dihentikan;
  • Menambah simulator baharu subsistem PRU (Programmable Real-time Unit) yang digunakan dalam pemproses Texas Instruments (pru-*-elf);
  • Menambahkan mod percubaan untuk memuatkan pantas simbol nyahpepijat dalam mod berbilang benang (didayakan melalui tetapan 'maint set worker-threads unlimited');
  • Anda boleh menggunakan simbol '.' dalam nama arahan;
  • Menambahkan keupayaan untuk menetapkan titik putus pada fungsi bersarang dan subrutin dalam Fortran;
  • Kerja telah dijalankan untuk membawa kepada gaya bersatu dan meningkatkan kebolehbacaan arahan;
  • Infrastruktur standard telah dilaksanakan untuk menghantar hujah perintah menggunakan aksara sempang ('-OPT'), yang membenarkan autolengkap menggunakan kekunci tab;
  • Arahan "printf" dan "eval" melaksanakan sokongan untuk mengeluarkan rentetan dalam gaya C dan Ada tanpa memanggil fungsi secara langsung dalam program;
  • Menambah sokongan untuk menapis fail output berdasarkan ungkapan biasa dalam arahan "sumber maklumat";
  • Dalam tetapan "tetapkan hujah bingkai cetakan", parameter "kehadiran" dilaksanakan, apabila ditetapkan, hanya penunjuk kehadiran "..." dipaparkan untuk hujah dan bukannya memaparkan nama dan nilai;
  • Dalam antara muka TUI arahan "fokus", "winheight", "+", "-", ">", "<" kini peka huruf besar-besaran;
  • Untuk arahan "cetak", "kompil cetakan", "jejak belakang", "bingkai"
    pilihan apply", "tfaas" dan "faas" telah dilaksanakan untuk mengatasi tetapan global (contohnya, yang ditetapkan melalui "set print [...]");

  • Pilihan "-q" telah ditambahkan pada perintah "jenis maklumat" untuk melumpuhkan output beberapa pengepala;
  • Dalam tetapan, bukannya nilai "tidak terhad", anda kini boleh menentukan "u";
  • Perintah baharu ditambah:
    • "define-prefix" untuk mentakrifkan arahan awalan anda sendiri;
    • "|" atau "paip" untuk menjalankan arahan dan mengubah hala keluaran kepada arahan shell;
    • "dengan" untuk menjalankan arahan yang ditentukan dengan tetapan yang diubah buat sementara waktu;
    • "set may-call-functions" untuk mengawal sama ada subrutin boleh dipanggil daripada GDB;
    • "set print finish [on|off]" untuk mengawal paparan nilai pulangan apabila menggunakan arahan "finish";
    • "tetapkan kedalaman maksimum cetakan" untuk mengehadkan output struktur bersarang;
    • β€œset print raw-values ​​[on|off]” untuk mendayakan/lumpuhkan pemformatan nilai output;
    • β€œtetapkan penyahpepijatan pengelogan [hidup|mati]” untuk mengawal menyimpan output nyahpepijat ke fail log;
    • Satu siri arahan "set gaya" baharu;
    • "set print frame-info [...]" untuk menentukan maklumat yang harus dicetak apabila memaparkan keadaan bingkai tindanan;
    • "set tui compact-source" untuk mendayakan mod padat untuk memaparkan kod dalam antara muka TUI (Antara Muka Pengguna Teks);
    • β€œmodul maklumat […]” untuk meminta maklumat tentang modul Fortran;
    • Daripada "tetapkan/tunjukkan hujah bingkai mentah", arahan "tetapkan/tunjukkan hujah bingkai mentah" dicadangkan (menggunakan sempang dan bukannya ruang sebagai pemisah);
  • Dalam antara muka perisian kawalan GDB/MI menambahkan arahan baharu "-lengkap", "-tangkap-buang", "-tangkap-baling semula", "-tangkap-tangkap", "-symbol-info-functions", "-symbol-info-types",
    "-symbol-info-variables", "-symbol-info-modules", "-symbol-info-module-functions" dan "-symbol-info-module-variables" adalah bersamaan dengan arahan GDB yang sama. Secara lalai, versi ketiga penterjemah MI diaktifkan (-i=mi3);

  • Menambah pembolehubah terbina dalam baharu:
    • $_gdb_major, $_gdb_minor;
    • $_gdb_setting, $_gdb_setting_str, $_gdb_maint_setting,
    • $_gdb_maint_setting_str
    • $_cimag, $_creal
    • $_shell_exitcode, $_shell_exitsignal
  • Menambahkan pilihan "--dengan-sistem-gdbinit-dir" pada skrip binaan konfigurasi untuk menentukan laluan ke fail sistem gdbinit;
  • Beberapa penambahbaikan telah dibuat pada API Python. Menambah keupayaan untuk membina dengan Python 3 pada Windows;
  • Keperluan untuk persekitaran perhimpunan telah ditingkatkan. Membina GDB dan GDBserver kini memerlukan sekurang-kurangnya GNU membuat 3.82. Apabila membina dengan perpustakaan baris baca luaran, sekurang-kurangnya GNU readline 7.0 diperlukan.

Sumber: opennet.ru

Tambah komen