8 de los Mejores Depuradores de Linux para Ingenieros de Software

Los depuradores son esenciales para localizar errores en los programas. Realizan el trabajo de intentar encontrar problemas en tu código antes de que sea hora de compilarlo, generalmente proporcionando más información de la que el compilador ofrecería. Linux, siendo un ecosistema principalmente de código abierto, tiene una plétora de este tipo de aplicaciones que funcionan en varios lenguajes y arquitecturas de procesamiento diferentes. En esta guía, nos adentraremos directamente en el mundo de los depuradores de Linux.
Tabla de Contenidos
- GNU Debugger(GDB)
- Data Display Debugger (DDD)
- LLDB
- Delve
- Xdebug
- KDbg
- Valgrind
- strace
1. GNU Debugger(GDB)
El GNU Debugger, también conocido como GDB, es uno de los depuradores de Linux más poderosos disponibles para los programadores modernos. Es una herramienta robusta con un conjunto extenso de características. GDB soporta muchos lenguajes de programación populares, incluyendo C, C++, Go y Rust. También funciona en muchas arquitecturas de CPU diferentes, como x86, x86-64, ARM, PowerPC, SPARC y MIPS.

Instala GDB usando estos comandos:
En distribuciones basadas en Ubuntu/Debian:
sudo apt install gdbEn distribuciones de Fedora/RHEL:
sudo dnf install gdbEn distribuciones basadas en Arch:
sudo pacman -S gdbSiempre que compiles usando GCC con símbolos de depuración, puedes avanzar paso a paso a través de las instrucciones de un programa a medida que se ejecuta escribiendo s. Escribir r ejecutará tu programa a través del depurador. Para iniciar GDB con el programa cargado, simplemente escribe gdb en tu terminal seguido de la ruta del programa.
Una vez dentro, escribir help te dará un catálogo bien organizado que explica todo lo que puedes hacer con este depurador todopoderoso.
2. Data Display Debugger (DDD)
Si jugar con comandos no es tu fuerte pero aún amas las características que GDB tiene para ofrecer, DDD te proporciona una interfaz gráfica simple que brinda todas sus funciones en una interfaz punto y clic. Es el depurador GUI clásico de Linux.

La interfaz puede parecer un poco básica, pero es tan poderosa como cualquier otro depurador. La diferencia aquí es que obtienes el depurador de GNU con una interfaz gráfica.
Para instalarlo:
En distribuciones basadas en Ubuntu/Debian:
sudo apt install dddEn distribuciones de Fedora/RHEL:
sudo dnf install dddEn distribuciones basadas en Arch:
yay -S dddCualquier cosa basada en Arch deberá usar un AUR helper, ya que DDD no existe en sus repositorios oficiales. Alternativamente, puedes instalar DDD en un sistema basado en Arch sin un AUR helper:
sudo pacman -S --needed base-devel
git clone https://aur.archlinux.org/ddd.git
cd ddd
makepkg -si3. LLDB
LLDB es parte del proyecto LLVM. La suite LLVM ha ido ganando popularidad gracias a su flujo de trabajo eficiente. También se ha convertido en el depurador predeterminado para Xcode de macOS y Android Studio. Algunas de las principales características de LLDB incluyen soporte para varias integraciones de compiladores y depuración remota. Soporta los lenguajes C (C, C++ y Objective-C).

Para aquellos que ya están familiarizados con los comandos básicos de GDB, LLDB se sentirá familiar. Escribir run o r ejecuta el programa, y escribir step o s avanza a través de sus subrutinas.
Para instalarlo:
En distribuciones basadas en Ubuntu/Debian:
sudo apt install lldbEn distribuciones de Fedora/RHEL:
sudo dnf install lldbEn distribuciones basadas en Arch:
sudo pacman -S lldb4. Delve
Delve es un depurador de Linux simple, pero lleno de características, para el lenguaje de programación Go de Google. Puedes usarlo para interactuar con tu programa en tiempo de ejecución y manipular cosas como goroutines y pilas. El depurador en sí mismo está escrito en Go, lo que proporciona un entorno de ejecución en el mismo contexto que el programa que estás probando.
Delve opera bajo el mismo principio que GDB y LLDB salvo por el hecho de que tiene un conjunto único de comandos que difieren en gran medida de los otros dos. Simplemente escribe help una vez dentro y tendrás una lista completa de todas las opciones de depuración que te proporciona.
A diferencia de los depuradores más generales para múltiples lenguajes, Delve ofrece más comandos específicos de Go que te permiten indagar a un nivel más granular en tu aplicación mientras se ejecuta.

Para instalarlo:
En distribuciones basadas en Ubuntu/Debian:
sudo apt install delveEn distribuciones de Fedora/RHEL:
sudo dnf install delveEn distribuciones basadas en Arch:
sudo pacman -S delve5. Xdebug
Mientras que la mayoría de la gente aprende a volcar sus variables (conocido en las comunidades de PHP como “dump & die”) para averiguar qué está mal en un cierto aspecto de su código, hay ocasiones en que necesitas algo más pesado que pueda guiarte a través de todas tus rutinas. Xdebug ofrece esto a raudales para programadores de PHP aspirantes y veteranos.
Es un depurador de Linux que avanza a través del código PHP línea por línea y muestra exactamente lo que está sucediendo a medida que se procesa una página web. Xdebug también funciona en varios IDEs, incluyendo VSCode. Otras de sus características incluyen un robusto perfilador, rastreador de pila y la capacidad de volcar el segmento de ejecución completo.
Para instalar Xdebug:
En distribuciones basadas en Ubuntu/Debian:
sudo apt install php-xdebugEn distribuciones de Fedora/RHEL:
sudo dnf install php-xdebugEn distribuciones basadas en Arch:
sudo pacman -S xdebug6. KDbg
KDbg es un depurador GUI para el entorno de escritorio KDE. Dado que funciona como una interfaz frontal de GDB, al igual que DDD, obtienes todas las características de GDB junto con una interfaz de usuario intuitiva. Los programadores más experimentados seguramente apreciarán una vista clara de todas las variables mientras avanzan a través de su código, así como un panel completamente dedicado que muestra lo que cada registro de CPU está sosteniendo. Esto no es tan fácil de visualizar en ninguno de los otros depuradores cubiertos aquí.
Debido a esto, KDbg es una excelente opción para programadores de aplicaciones nativas tradicionales, desde los aprendices que apenas están comenzando a aprender hasta los veteranos más experimentados.

Para instalar KDbg:
En distribuciones basadas en Ubuntu/Debian:
sudo apt install kdbgEn distribuciones de Fedora/RHEL:
sudo dnf install kdbgEn distribuciones basadas en Arch:
sudo pacman -S kdbgNota: Si estás usando una distribución basada en Ubuntu o Debian y no encuentras el paquete para kdbg en los repositorios oficiales, aquí está exactamente lo que debes escribir para compilarlo tú mismo:
sudo apt install build-essential cmake extra-cmake-modules qtbase5-dev libkf5i18n-dev libkf5iconthemes-dev libkf5xmlgui-dev
git clone -b maint https://github.com/j6t/kdbg.git
cd kdbg
cmake .
make
sudo make install7. Valgrind
Valgrind es un depurador de memoria sólido como una roca que ofrece muchas herramientas adicionales para el análisis de software. Funciona tanto en Linux como en Mac. Además, puedes usarlo como un marco y crear herramientas de análisis dinámico como perfiles. En general, Valgrind es una excelente opción para profesionales debido a su rico conjunto de características y variedad de herramientas que monitorean la memoria de un programa mientras se ejecuta.

Para instalar Valgrind:
En distribuciones basadas en Ubuntu/Debian:
sudo apt install valgrindEn distribuciones de Fedora/RHEL:
sudo dnf install valgrindEn distribuciones basadas en Arch:
sudo pacman -S valgrind8. strace
strace es una utilidad de espacio de usuario para Unix que permite a los usuarios rastrear llamadas al sistema y señales directamente desde el terminal.

Los programadores pueden usarlo para volcar rastros de pila, filtrar llamadas al sistema, modificar códigos de retorno, extraer descriptores de archivo y mucho más.
Más importante aún, strace te permite adjuntarte a programas en ejecución. Esto te permite profundizar en cualquier software que ejecutes en tu máquina para aprender más sobre lo que podría estar causando un fallo.
Para instalar strace:
En distribuciones basadas en Ubuntu/Debian:
sudo apt install straceEn distribuciones de Fedora/RHEL:
sudo dnf install straceEn distribuciones basadas en Arch:
sudo pacman -S straceEl Arsenal Te Espera
Con estas herramientas, puedes investigar, analizar y examinar tu código de maneras que antes podían parecer inaccesibles. Puede haber un poco de curva de aprendizaje a seguir, pero vale la pena. Si estás serio acerca de programar en Linux, aprender a usar sus depuradores te ahorrará mucho tiempo a largo plazo.
Ahora que tienes los mejores depuradores de Linux, es hora de que encuentres las mejores distribuciones de Linux para desarrolladores y programadores.