GDB 14.1 telah dirilis dan berikut adalah fitur-fitur barunya

Debugger GNU

GNU Debugger adalah debugger standar untuk kompiler GNU. Ini adalah debugger portabel yang dapat digunakan di berbagai platform Unix.

Baru-baru ini Rilis versi baru debugger GDB 14.1 telah diumumkan, ini adalah versi pertama dari 14 seri dan di dalamnya sejumlah besar fungsi, atribut, kelas, dan acara baru telah ditambahkan, serta peningkatan dukungan, perbaikan bug, dan banyak lagi.

Bagi yang belum tahu tentang GDB, perlu tahu ini adalah debugger untuk proyek GNU, dan debugger ini memungkinkan Anda untuk "melihat" apa yang terjadi "di dalam" program lain saat sedang berjalan, atau apa yang sedang dilakukan program lain pada saat terjadi kegagalan.

GDB dapat melakukan empat jenis hal utama (selain hal-hal lain yang mendukung hal tersebut) untuk membantu pengguna mendeteksi kesalahan dalam pelaksanaan program:

  1. Mulai sebuah program, tentukan apa saja yang mungkin mempengaruhi perilakunya.
  2. Ia memiliki kemampuan untuk menghentikan program dalam kondisi tertentu.
  3. Periksa apa yang terjadi ketika program berhenti.
  4. Ubah berbagai hal dalam program, sehingga pengguna dapat bereksperimen dengan memperbaiki dampak dari satu kesalahan dan terus mempelajari kesalahan lainnya.

Program tersebut dapat berjalan di mesin yang sama dengan GDB (asli), di mesin lain (jarak jauh), atau di simulator. GDB dapat berjalan pada varian UNIX dan Microsoft Windows yang paling populer, serta macOS.

GDB mendukung debugging tingkat sumber untuk berbagai bahasa pemrograman, seperti: Ada, Majelis, C, C++, D, Fortran, Go, OpenCL, Objective-C, Modula-2, Pascal dan Rust.

Fitur baru utama GDB 14.1

Dalam versi baru yang disajikan dari GDB 14.1, itu adalah dukungan terintegrasi awal untuk protokol adaptor debug (DAP) dikembangkan oleh Microsoft dan ini memungkinkan penerapan debugger generik sehingga alat pengembangan dapat berkomunikasi dengan debugger yang berbeda melalui adaptor debugging, yang pada gilirannya dapat digunakan kembali di beberapa alat pengembangan, hal ini pada dasarnya bermuara pada upaya untuk mendukung debugger baru di alat yang berbeda.

Perubahan lain yang menonjol dalam versi baru ini adalah Mendukung perbaikan yang diterapkan, seperti dukungan awal untuk tipe integer yang lebih besar dari 64 bit, dukungan untuk mengaktifkan atau menonaktifkan fungsi target jarak jauh individu, serta peningkatan dukungan untuk Ada untuk atribut Ada 2022 'Enum_Rep dan 'Enum_Val.

Selain itu, GDB sekarang mengenali variabel lingkungan NO_COLOR dan memiliki Peningkatan dukungan AArch64, sejak dukungan awal ditambahkan untuk perluasan SME dan SME2.

Selain itu, Fitur dan pengaturan GDB telah dihapus yang sudah didukung dengan rilis baru, misalnya GDB 14.1 tidak lagi kompatibel dengan AiX 4.x, 5.x dan 6.x, dukungan untuk GDB/MI versi 1 telah dihapus.

Menambahkan fungsi $_shell” untuk menjalankan perintah di shell dan mengembalikan hasilnya, perintah "daftar" sekarang menerima '.' sebagai argumen, untuk mencetak lokasi titik eksekusi di bingkai tumpukan saat ini, menambahkan »%V» ke format output untuk perintah printf dan dprintf, Perintah printf sekarang membatasi ukuran string yang diperoleh kurang dari nilai pengaturan 'ukuran nilai maksimal' dan perintah debugging dan pemeliharaan baru telah ditambahkan.

Mengenai peningkatan dukungan Python, ini adalah yang paling banyak menerima dan yang berikut ini menonjol:

  • Kelas baru: gdb.Thread, gdb.unwinder.FrameId, gdb.ValuePrinter
  • Atribut baru: gdb.Argumen Bawah, yang menjaga argumen baris perintah di bawah, jika diketahui, gdb.Bawah.nama_utama, yang memuat nama 'utama' yang lebih rendah, jika diketahui, gdb.Breakpoint.Lower, gdb.Progspace.symbol_file, gdb.Progspace.executable_filename
  • Fungsi baru: gdb.execute_mi(PERINTAH, [ARG]…), gdb.block_signals()
  • Metode baru: gdb.Value 'to_array', gdb.Progspace 'objfile_for_address', 'gdb.Frame.static_link, gdb.Inferior 'clear_env', 'set_env' dan 'unset_env' 
  • Acara baru: gdb.ThreadExitedEvent, gdb.ExecutableChangedEvent gdb.NewProgspaceEvent, dan gdb.FreeProgspaceEvent.
  • Disassembler API dari modul gdb.disassembler telah diperluas untuk menyertakan dukungan penataan gaya
    gdb.parse_and_eval
  • Atribut gdb.unwinder.Unwinder.enabled sekarang hanya dapat menerima nilai bertipe 'bool'.
    Sekarang tidak mungkin lagi untuk membuat subkelas dari Tipe gdb.disassembler.DisassemblerResult.

Akhirnya, jika Anda tertarik untuk mengetahui lebih banyak tentangnya, Anda dapat memeriksa detailnya di link berikut.


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.