Bản phát hành trình gỡ lỗi GDB 13

Bản phát hành trình gỡ lỗi GDB 13.1 đã được trình bày (bản phát hành đầu tiên của dòng 13.x, nhánh 13.0 được sử dụng để phát triển). GDB hỗ trợ gỡ lỗi cấp nguồn cho nhiều ngôn ngữ lập trình (Ada, C, C++, D, Fortran, Go, Objective-C, Modula-2, Pascal, Rust, v.v.) trên nhiều phần cứng khác nhau (i386, amd64 , ARM, Power, Sparc, RISC-V, v.v.) và các nền tảng phần mềm (GNU/Linux, *BSD, Unix, Windows, macOS).

Cải tiến chính:

  • Đã thêm hỗ trợ để chạy trình gỡ lỗi và GDBserver trên kiến ​​trúc GNU/Linux/LoongArch và GNU/Linux/CSKY.
  • Hỗ trợ làm việc trên nền tảng Windows ở chế độ không đồng bộ (async) đã được triển khai.
  • Trên nền tảng FreeBSD, hỗ trợ cho các biến TLS (Thread Local Storage) đã được thêm cho kiến ​​trúc ARM và AArch64, đồng thời khả năng sử dụng các điểm dừng phần cứng (điểm quan sát) đã được cung cấp cho kiến ​​trúc AArch64.
  • Trong môi trường GNU/Linux trên hệ thống LoongArch, hỗ trợ tính toán dấu phẩy động đã được thêm vào.
  • Đã triển khai các lệnh mới "bộ bảo trì bỏ qua-prologue-end-flag|libopcodes-styling" và "bảo trì print frame-id", cũng như các lệnh để kiểm soát kiểu đầu ra được phân tách (bộ phân tách kiểu *).
  • Đã thêm các lệnh "đặt các nibble in [bật|tắt]" và "hiển thị các nibble in" để kiểm soát việc hiển thị các giá trị nhị phân trong các nhóm bốn byte.
  • Những cải tiến đã được thực hiện đối với API Python. Một API dành cho các hướng dẫn tháo rời đã được thêm vào, loại gdb.BreakpointLocation đã được triển khai và các hàm gdb.format_address, gdb.current_lingu và gdb.print_options đã được thêm vào.
  • Phiên bản đầu tiên của giao diện quản lý GDB/MI không được dùng nữa và sẽ bị xóa trong GDB 14.
  • Đã thêm hỗ trợ cho các phần gỡ lỗi được nén bằng thuật toán zstd trong tệp ELF.
  • Đã thêm các biến tích hợp mới: $_inferior_thread_count, $_hit_bpnum, $_hit_locno.
  • Định dạng đầu ra của lệnh 'disassemble /r' và 'record command-history /r' đã được điều chỉnh để phù hợp với đầu ra của objdump. Để trả về định dạng cũ, chế độ “/b” đã được thêm vào.
  • Trong TUI (Giao diện người dùng văn bản), kiểu mã nguồn và mã lắp ráp được đánh dấu bằng chỉ báo vị trí hiện tại bị tắt.
  • Có thể sử dụng lệnh “document” để ghi lại các lệnh của người dùng.
  • Đã thêm khả năng tạo kết xuất với dữ liệu thẻ bộ nhớ được sử dụng khi sử dụng cơ chế ARMv8.5 MTE (MemTag, Memory Tagging Extension), cho phép bạn liên kết các thẻ với từng thao tác cấp phát bộ nhớ và tổ chức kiểm tra con trỏ khi truy cập vào bộ nhớ. được liên kết với thẻ chính xác.
  • Chế độ tương thích DBX đã bị ngừng.
  • Hỗ trợ xây dựng bằng Python 2 đã bị ngừng.
  • Các lệnh “set debug aix-solib on|off”, “show debug aix-solib”, “set debug solib-frv on|off” và “show debug solib-frv” đã bị xóa và các lệnh “set/show debug” nên được sử dụng thay vì solib."

Nguồn: opennet.ru

Thêm một lời nhận xét