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

Bản phát hành trình gỡ lỗi GDB 12.1 đã được giới thiệu (bản phát hành đầu tiên của dòng 12.x, nhánh 12.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:

  • Theo mặc định, chế độ đa luồng để tải biểu tượng gỡ lỗi được bật, giúp tăng tốc độ khởi động.
  • Cải thiện hỗ trợ cho các mẫu C++.
  • Hỗ trợ làm việc trên nền tảng FreeBSD ở chế độ không đồng bộ (async) đã được triển khai.
  • Có thể vô hiệu hóa việc sử dụng GNU Source Highlight và sử dụng thư viện Pygments để làm nổi bật cú pháp.
  • Lệnh "clone-inferior" kiểm tra xem cài đặt TTY, CMD và ARGS có được sao chép từ đối tượng gỡ lỗi ban đầu (kém hơn) sang đối tượng gỡ lỗi mới hay không. Nó cũng đảm bảo rằng tất cả các thay đổi đối với các biến môi trường được thực hiện bằng lệnh 'đặt môi trường' hoặc 'không đặt môi trường' đều được sao chép sang đối tượng gỡ lỗi mới.
  • Lệnh "print" cung cấp hỗ trợ in số dấu phẩy động, chỉ định định dạng của giá trị cơ bản, chẳng hạn như thập lục phân ("/ x").
  • Đã thêm hỗ trợ để chạy trình gỡ lỗi và máy chủ GDB trên kiến ​​trúc GNU/Linux/OpenRISC (or1k*-*-linux*). Đã thêm hỗ trợ gỡ lỗi ứng dụng cho nền tảng đích GNU/Linux/LoongArch (loongarch*-*-linux*). Hỗ trợ cho nền tảng mục tiêu S+core (điểm-*-*) đã bị ngừng.
  • GDB 12 được công bố là bản phát hành cuối cùng hỗ trợ xây dựng bằng Python 2.
  • Không được dùng nữa và sẽ bị xóa trong chế độ tương thích GDB 13 DBX.
  • API quản lý GDB/MI cho phép sử dụng lệnh '-add-inferior' mà không cần tham số hoặc với cờ '--no-connection' để kế thừa kết nối từ đối tượng gỡ lỗi hiện tại hoặc chạy mà không cần kết nối.
  • Những cải tiến đã được thực hiện đối với API Python. Khả năng triển khai các lệnh GDB/MI trong Python được cung cấp. Đã thêm các sự kiện mới gdb.events.gdb_exiting và gdb.events.connection_removed, hàm gdb.Architecture.integer_type(), đối tượng gdb.TargetConnection, thuộc tính gdb.Inferior.connection, phương thức gdb.RemoteTargetConnection.send_packet và các thuộc tính gdb.InferiorThread.details, gdb.Type.is_scalar và gdb.Type.is_signed.

Nguồn: opennet.ru

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