8 công cụ debugger Linux tốt nhất dành cho các kỹ sư phần mềm

Thứ hai - 15/01/2024 22:56

Debugger là công cụ thiết yếu cho việc tìm lỗi trong các phần mềm. Có rất nhiều debugger Linux xịn giúp cho việc tìm điểm yếu trong phần mềm trở nên dễ dàng hơn với các lập trình viên.

Trong bài viết này, Quantrimang sẽ gửi tới bạn danh sách 10 công cụ debugger Linux tốt nhất. Mời các bạn cùng tham khảo.

1. GNU Debugger (GDB)

GNU Debugger (GDB) là một trong những debugger Linux tốt nhất hiện tại. Nó là một công cụ mạnh mẽ với hàng loạt tính năng. GDB hỗ trợ cho nhiều ngôn ngữ lập trình phổ biến, bao gồm cả C, C++, Fortran và Java. Nó còn có thể chạy trên nhiều kiến trúc CPU như x86, x86-64, ARM, PowerPC, SPARC và MIPS.

Cài đặt GDB bằng các lệnh sau:

Trong các bản phân phối dựa trên Ubuntu/Debian:

sudo apt install gdb

Trong các bản phân phối Fedora/RHEL:

sudo dnf install gdb

Trong các bản phân phối dựa trên Arch:

sudo pacman -S gdb

Miễn là bạn biên dịch bằng GCC với các ký hiệu debug, bạn có thể xem qua hướng dẫn của chương trình khi chạy bằng cách nhập s. Gõ r sẽ chạy chương trình của bạn thông qua debugger. Để khởi động GDB khi chương trình đã được load, chỉ cần nhập gdb vào terminal của bạn, sau đó là đường dẫn chương trình.

Khi bạn đã đăng nhập, nhập help sẽ cung cấp cho bạn một danh mục được sắp xếp hợp lý, giải thích mọi thứ bạn có thể làm với trình gỡ lỗi toàn năng này!

2. Data Display Debugger (DDD)

Nếu bạn không thích sử dụng các lệnh nhưng vẫn yêu thích các tính năng mà GDB cung cấp, thì DDD sẽ cung cấp cho bạn giao diện người dùng đồ họa đơn giản cung cấp tất cả các tính năng của nó trong giao diện điểm và nhấp chuột. Đó là GUI debugger Linux tinh túy.

DDD đang chạy một chương trình thô và thoát ra.

Giao diện người dùng có thể trông hơi đơn giản nhưng nó mạnh mẽ như bất kỳ trình gỡ lỗi nào khác. Sự khác biệt ở đây là bạn có được trình gỡ lỗi đặc trưng của GNU với giao diện đồ họa!

Để cài đặt Data Display Debugger (DDD), hãy làm như sau:

Trong các bản phân phối dựa trên Ubuntu/Debian:

sudo apt install ddd

Trong các bản phân phối Fedora/RHEL:

sudo dnf install ddd

Trong các bản phân phối dựa trên Arch:

yay -S ddd

Mọi thứ dựa trên Arch sẽ phải sử dụng trình trợ giúp AUR, vì DDD không tồn tại trong kho chính thức của nó. Ngoài ra, bạn có thể cài đặt DDD trên hệ thống dựa trên Arch mà không cần trình trợ giúp AUR:

sudo pacman -S --needed base-devel
git clone https://aur.archlinux.org/ddd.git
cd ddd
makepkg -si

3. LLDB

LLDB là một phần của dự án LLVM. Công cụ này đang ngày càng trở nên phổ biến hơn nhờ có tốt độ vượt trội và workflow hiệu quả. Nó cũng trở thành debugger mặc định trong Xcode của macOS và Android Studio. Một vài tính năng đáng chú ý của LLDB bao gồm hỗ trợ cho nhiều trình biên soạn tích hợp, một hệ thống kiểu ngôn ngữ độc lập và debug từ xa.

Đối với những người đã quen với các lệnh GDB cơ bản, LLDB sẽ có cảm giác quen thuộc. Gõ run hoặc r sẽ chạy chương trình và gõ step hoặc s để đi qua các chương trình con của nó.

Để cài đặt LLDB:

Trong các bản phân phối dựa trên Ubuntu/Debian:

sudo apt install lldb

Trong các bản phân phối Fedora/RHEL:

sudo dnf install lldb

Trong các bản phân phối dựa trên Arch:

sudo pacman -S lldb

4. Delve

Delve là một debugger Linux đơn giản nhưng giàu tính năng dành cho ngôn ngữ lập trình Go của Google. Bạn có thể dùng nó để tương tác với các chương trình của mình trong runtime và thao tác những thứ như goroutines và stacks. Bản thân Delve cũng được viết bằng Go nên có thể cung cấp runtime tốc độ cao cho các lập trình viên.

5. Xdebug

Xdebug là một debugger PHP mạnh mẽ dành cho Linux. Nó cung cấp một trình debugger dễ dùng có thể được sử dụng với nhiều IDE. Xdebug có thể cài đặt một cách dễ dàng trên máy tính Linux bằng package manager.

6. KDbg

KDbg là trình gỡ lỗi giao diện đồ họa cho cho môi trường máy tính để bàn KDE. Thực tế thì KDbg chỉ là một giao diện của GNU Debugger. Khi dùng KDbg bạn sẽ nhận được tất cả các tính năng của GDB cùng với giao diện người dùng trực quan. Vì thế, KDbg phù hợp với những người mới bắt đầu học debugger.

7. Valgrind

Valgrind là một debugger hiệu quả cao, cung cấp rất nhiều công cụ bổ sung cho việc phân tích phần mềm. Nó chạy trên tất cả các nền tảng lớn bao gồm Linux và Mac.

Hơn nữa, bạn có thể sử dụng nó như một framework và tạo ra các công cụ phân tích linh hoạt hơn. Xét tổng thể, Valgrind là một lựa chọn hoàn hảo cho các chuyên gia.

8. strace

strace là một tiện ích usersapace cho Unix. Nó cho phép người dùng theo dõi các lệnh và tín hiệu hệ thống một cách trực tiếp từ terminal. Lập trình viên có thể sử dụng strace để kết xuất dấu vết ngăn xếp, lọc các lệnh hệ thống, sửa đổi mã trả về, trích xuất bộ mô tả file...

Khi có các debugger Linux mạnh mẽ trong tay công việc lập trình viên sẽ dễ dàng hơn rất nhiều. Hầu như bất kỳ kỹ sư phần mềm nào cũng phải cài đặt các công cụ như GDB và LLDB. Mặt khác, các debugger chuyên biệt như Delve và Xdebug sẽ được dành cho các dự án và hệ sinh thái cụ thể.

 

Nguồn tin: quantrimangf.com

Tổng số điểm của bài viết là: 0 trong 0 đánh giá

  Ý kiến bạn đọc

THỐNG KÊ TRUY CẬP
  • Đang truy cập26
  • Máy chủ tìm kiếm3
  • Khách viếng thăm23
  • Hôm nay5,856
  • Tháng hiện tại5,856
  • Tổng lượt truy cập8,790,982
QUẢNG CÁO
Phan Thanh Phú
Quảng cáo 2
Liên kết site
Đăng nhập Thành viên
Hãy đăng nhập thành viên để trải nghiệm đầy đủ các tiện ích trên site
Thăm dò ý kiến

Bạn thấy Website cần cải tiến những gì?

Lịch Âm dương
Máy tính
Bạn đã không sử dụng Site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây