Debugging is the process of finding and reducing the number of bugs in computer software and electronic hardware. When a program crashes, the debugger shows the position in the original code. A good debugger plays an essential role in software development.
Debugging can be more difficult when various subsystems are tightly coupled, as changes in one may cause bugs to appear in another.
This article examines three different types of debuggers: source-level debuggers and memory debuggers. Bug tracking software are covered in our Issue Tracking roundup.
A memory debugger is a programming tool for finding memory leaks and buffer overflows. These are due to bugs related to the allocation and deallocation of dynamic memory. Programs written in languages that have garbage collection, such as managed code, might also need memory debuggers.
Here’s a legendary LinuxLinks-style ratings chart capturing our recommendations. All of the software featured here are free and open source goodness.
Click the links in the table to learn more about each debugger.
Debuggers | |
---|---|
LLDB | Next generation, high-performance debugger |
Ghidra | Software reverse engineering framework |
React Native Debugger | Standalone app for debugging React Native apps |
GDB | The GNU Debugger |
Delve | Source level debugger for the Go programming language |
Valgrind | A memory debugger and profiler |
Radare2 | Portable reversing framework |
KDbg | Graphical user interface to GDB |
Xdebug | Extension for PHP to aid debugging and development |
strace | Diagnostic, debugging and instructional userspace utility |
PuDB | Console-based visual debugger for Python |
bashdb | Source-code debugger for bash; follows the GDB command syntax |
Nemiver | Standalone graphical debugger for GNOME |
This article has been revamped in line with our recent announcement.
Read our complete collection of recommended free and open source software. Our curated compilation covers all categories of software. The software collection forms part of our series of informative articles for Linux enthusiasts. There are hundreds of in-depth reviews, open source alternatives to proprietary software from large corporations like Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. There are also fun things to try, hardware, free programming books and tutorials, and much more. |