GDB 14.1 đã được phát hành (phiên bản đầu tiên của dòng 14.x, nhánh 14.0 được sử dụng để phát triển). GDB hỗ trợ gỡ lỗi cấp mã 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 (i386, amd64, ARM, Power, Sparc, RISC-V, v.v.) và nền tảng phần mềm (GNU/Linux, *BSD, Unix, Windows, macOS).
Cải tiến chính:
- Cơ sở mã đã được chuyển đổi để sử dụng tiêu chuẩn C++17. Việc xây dựng GDB hiện yêu cầu trình biên dịch hỗ trợ C++17 (ít nhất là GCC 9).
- Đã thêm thông tin về chức năng chính vào chỉ mục, cho phép khởi động nhanh hơn khi được sử dụng với một số tệp thực thi lớn.
- Hỗ trợ cho AIX 4.x, 5.x và 6.x đã bị ngừng (bản phát hành 7.1 được cho là phiên bản được hỗ trợ tối thiểu của AIX).
- Đã thêm hỗ trợ gốc ban đầu cho DAP (Giao thức bộ điều hợp trình gỡ lỗi).
- Đã thêm hỗ trợ cho biến môi trường NO_COLOR.
- Đã thêm hỗ trợ ban đầu cho các loại số nguyên lớn hơn 64 bit.
- Đã thêm hỗ trợ cho các điểm dừng được liên kết với các đối tượng gỡ lỗi riêng lẻ (khi gỡ lỗi nhiều quy trình).
- Đã thêm chức năng "$_shell" để chạy lệnh trong shell và trả về kết quả.
- Những cải tiến đã được thực hiện đối với API Python:
- Đã thêm các lớp gdb.Thread, gdb.unwinder.FrameId và gdb.ValuePrinter.
- Đã thêm thuộc tính gdb.Inferior.arguments, gdb.Inferior.main_name, gdb.Breakpoint.inferior, gdb.Progspace.symbol_file, gdb.Progspace.executable_filename.
- Đã thêm các hàm gdb.execute_mi(COMMAND, [ARG]…), gdb.block_signals().
- Đã thêm các phương thức gdb.Frame.static_link, gdb.Inferior 'clear_env', 'set_env' và 'unset_env', gdb.Type 'is_array_like' và 'is_string_like', gdb.Value 'gán', gdb.Value 'to_array', gdb. Progspace 'objfile_for_address', gdb.LazyString __str__. Đã thêm sự kiện gdb.ThreadExitedEvent, gdb.ExecutableChangedEvent, gdb.NewProgspaceEvent, gdb.FreeProgspaceEvent.
- Đã thêm khả năng bật hoặc tắt các tính năng riêng lẻ cho các mục tiêu gỡ lỗi từ xa.
- Cải thiện hỗ trợ cho kiến trúc AArch64. Đã thêm hỗ trợ cho tiện ích mở rộng SME (Mở rộng ma trận có thể mở rộng) và SME2.
- Cải thiện hỗ trợ cho ngôn ngữ Ada và đặc tả Ada 2022.
- Đã thêm hỗ trợ cho đối số '.' vào lệnh 'list'. để in vị trí của điểm thực hiện trong khung ngăn xếp hiện tại.
- Công cụ xác định định dạng '%V' đã được thêm vào lệnh printf và dprintf.
- Trong lệnh printf, kích thước của chuỗi được trích xuất từ đối tượng gỡ lỗi bị giới hạn bởi cài đặt 'max-value-size'.
- Đã thêm tùy chọn xây dựng "--Additional-debug-dirs=PATH", đặt giá trị mặc định cho tham số 'debug-file-directory'.
- Đã thêm lệnh mới "thông tin chính" để trích xuất ký hiệu chính cho biết điểm vào chương trình.
- Các lệnh mới được thêm vào:
- "bật|tắt điểm dừng gỡ lỗi"
- "đặt sự kiện chuột của tôi [bật|tắt]"
- "bật|tắt luôn đọc-ctf"
- "hướng dẫn ghi bản in bảo trì [N]"
- "trình gỡ bỏ khung thông tin bảo trì"
- "bảo trì chờ chỉ mục-cache"
Nguồn: opennet.ru
