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

Bản phát hành trình gỡ lỗi GDB 11.1 đã được giới thiệu (bản phát hành đầu tiên của dòng 11.x, nhánh 11.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++, Objective-C, Pascal, Go, Rust, v.v.) trên nhiều phần cứng khác nhau (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:

  • TUI (Giao diện người dùng văn bản) đã thêm hỗ trợ cho các thao tác chuột và khả năng cuộn nội dung bằng con lăn chuột. Đã bật chuyển tiếp các tổ hợp phím tới GDB không được xử lý trong TUI.
  • Đã thêm hỗ trợ cho 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 bộ nhớ, con trỏ này phải được liên kết với đúng thẻ. Giao thức điều khiển gỡ lỗi từ xa cung cấp hỗ trợ cho các gói “qMemTags” và “QMemTags” để liên kết thẻ với bộ nhớ.
  • Logic để đọc các tập tin cấu hình đã được thay đổi. Tệp .gdbinit hiện được kiểm tra theo thứ tự sau: $XDG_CONFIG_HOME/gdb/gdbinit, $HOME/.config/gdb/gdbinit và $HOME/.gdbinit. Những thứ kia. đầu tiên trong thư mục con cấu hình và chỉ sau đó trong thư mục chính.
  • Trong lệnh “break […] if CONDITION”, đầu ra lỗi sẽ dừng khi điều kiện không hợp lệ ở một số vị trí nhất định, nếu điều kiện đó hợp lệ trong ít nhất một trường hợp.
  • Đã thêm hỗ trợ để gỡ lỗi các kết xuất lõi được tạo cho các chương trình Cygwin được biên dịch cho kiến ​​trúc x86_64.
  • Đã thêm hỗ trợ cho các loại điểm cố định, cũng như các hằng số DW_AT_GNU_numerator và DW_AT_GNU_denominator.
  • Đã thêm cài đặt “khởi động-bật | tắt”; khi “bật”, tương tự như tùy chọn “-silent”.
  • Lệnh "ptype" thực hiện các tùy chọn /x" và "/d" để chọn hệ thập lục phân hoặc thập phân khi hiển thị kích thước và độ lệch. Đã thêm cài đặt "bật|tắt loại in" để sử dụng các giá trị thập lục phân trong đầu ra của lệnh 'ptype'.
  • Trong lệnh "kém hơn", khi được gọi mà không có đối số, đầu ra của đối tượng gỡ lỗi hiện tại (kém hơn) sẽ được cung cấp.
  • Đầu ra của lệnh “nguồn thông tin” đã được làm lại.
  • Đã thêm lệnh “phiên bản kiểu tiền cảnh | nền | cường độ" để kiểm soát kiểu đánh số phiên bản.
  • Đã thêm các tùy chọn dòng lệnh mới: “—early-init-command” (“-eix”), “—early-init-eval-command” (“-eiex”), “—có đủ điều kiện” (đối với các lệnh '-break-insert ) ' và '-dprintf-insert'), "--force-condition" (đối với lệnh '-break-insert' và '-dprintf-insert'), "--force" (đối với lệnh '-break-condition ' yêu cầu).
  • Lệnh '-file-list-exec-source-files' cho phép bạn chỉ định các biểu thức chính quy để lọc ra các tệp nguồn cần xử lý. Trường 'đọc toàn bộ lỗi' đã được thêm vào đầu ra để cho biết mức độ thông tin gỡ lỗi đã được tải.
  • Những cải tiến đã được thực hiện đối với API Python. Đã thêm các phương thức mới gdb.Frame.level() và db.PendingFrame.level() để trả về mức ngăn xếp cho đối tượng Frame. Khi một điểm bắt được kích hoạt, API Python đảm bảo rằng gdb.BreakpointEvent được gửi thay vì gdb.StopEvent. Đã thêm cài đặt "bật|tắt môi trường bỏ qua python" để bỏ qua các biến môi trường và "python không ghi-bytecode tự động|bật|tắt" để tắt tính năng ghi mã byte.
  • Những cải tiến đã được thực hiện đối với API Guile. Các thủ tục mới giá trị-giá trị tham chiếu-giá trị, giá trị-rvalue-giá trị tham chiếu và giá trị-const-value đã được thêm vào.
  • Các phần phụ thuộc tập hợp bắt buộc bao gồm thư viện GMP (GNU Multiple Precision Arithmetic).
  • Hỗ trợ cho nền tảng ARM Symbian (arm*-*-symbianelf*) đã bị ngừng.

Nguồn: opennet.ru

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