Keluaran penyahpepijat GDB 11

Keluaran penyahpepijat GDB 11.1 telah dibentangkan (keluaran pertama siri 11.x, cawangan 11.0 telah digunakan untuk pembangunan). GDB menyokong penyahpepijatan peringkat sumber untuk pelbagai bahasa pengaturcaraan (Ada, C, C++, Objective-C, Pascal, Go, Rust, dll.) pada pelbagai perkakasan (i386, amd64, ARM, Power, Sparc, RISC - V, dsb.) dan platform perisian (GNU/Linux, *BSD, Unix, Windows, macOS).

Penambahbaikan utama:

  • TUI (Antara Muka Pengguna Teks) telah menambah sokongan untuk tindakan tetikus dan keupayaan untuk menatal kandungan dengan roda tetikus. Mendayakan pemajuan kombinasi kunci kepada GDB yang tidak diproses dalam TUI.
  • Sokongan tambahan untuk mekanisme ARMv8.5 MTE (MemTag, Memory Tagging Extension), yang membolehkan anda mengikat tag pada setiap operasi peruntukan memori dan mengatur pemeriksaan penuding apabila mengakses memori, yang mesti dikaitkan dengan tag yang betul. Protokol Kawalan Nyahpepijat Jauh menyediakan sokongan untuk pakej "qMemTags" dan "QMemTags" untuk mengikat tag pada memori.
  • Logik untuk membaca fail konfigurasi telah diubah. Fail .gdbinit kini disemak dalam susunan berikut: $XDG_CONFIG_HOME/gdb/gdbinit, $HOME/.config/gdb/gdbinit dan $HOME/.gdbinit. Itu. pertama dalam subdirektori konfigurasi, dan hanya kemudian dalam direktori rumah.
  • Dalam perintah "break [...] if CONDITION", output ralat dihentikan apabila syarat tidak sah di tempat tertentu, jika syarat itu sah dalam sekurang-kurangnya satu kes.
  • Sokongan tambahan untuk penyahpepijatan pembuangan teras yang dijana untuk program Cygwin yang disusun untuk seni bina x86_64.
  • Menambah sokongan untuk jenis titik tetap, serta pemalar DW_AT_GNU_numerator dan DW_AT_GNU_denominator.
  • Menambah tetapan "mulakan-senyap hidup|mati"; apabila "hidup", serupa dengan pilihan "-senyap".
  • Perintah "ptype" melaksanakan pilihan /x" dan "/d" untuk memilih perenambelasan atau perpuluhan apabila memaparkan saiz dan ofset. Menambahkan tetapan "print type hex on|off" untuk menggunakan nilai perenambelasan dalam output arahan 'ptype'.
  • Dalam arahan "inferior", apabila dipanggil tanpa hujah, output objek penyahpepijatan semasa (inferior) disediakan.
  • Output arahan "sumber maklumat" telah diolah semula.
  • Menambah arahan "gaya versi latar depan | latar belakang | intensiti" untuk mengawal gaya penomboran versi.
  • Menambahkan pilihan baris arahan baharu: “—early-init-command” (“-eix”), “—early-init-eval-command” (“-eiex”), “—qualified” (untuk arahan '-break-insert ) ' dan '-dprintf-insert'), "--force-condition" (untuk perintah '-break-insert' dan '-dprintf-insert'), "--force" (untuk '-break-condition ' perintah).
  • Perintah "-file-list-exec-source-files" membolehkan anda menentukan ungkapan biasa untuk menapis fail sumber untuk diproses. Medan 'debug-fully-read' telah ditambahkan pada output untuk menunjukkan sejauh mana maklumat penyahpepijatan telah dimuatkan.
  • Penambahbaikan telah dibuat pada API Python. Menambah kaedah baharu gdb.Frame.level() dan db.PendingFrame.level() untuk mengembalikan tahap tindanan bagi objek Frame. Apabila titik tangkapan dicetuskan, API Python memastikan bahawa gdb.BreakpointEvent dihantar bukannya gdb.StopEvent. Menambahkan tetapan "python ignore-environment on|off" untuk mengabaikan pembolehubah persekitaran dan "python dont-write-bytecode auto|on|off" untuk melumpuhkan penulisan bytecode.
  • Penambahbaikan telah dibuat pada API Guile. Nilai-rujukan-nilai prosedur baharu, nilai-nilai-rujukan-nilai dan nilai-const-nilai telah ditambah.
  • Kebergantungan pemasangan yang diperlukan termasuk perpustakaan GMP (GNU Multiple Precision Aritmetik).
  • Sokongan untuk platform ARM Symbian (arm*-*-symbianelf*) telah dihentikan.

Sumber: opennet.ru

Tambah komen