8 de los mejores depuradores de Linux para ingenieros de software

Los depuradores son esenciales para localizar errores en los programas. Hacen el trabajo preliminar de intentar encontrar problemas en su código antes de que llegue el momento de compilarlo, generalmente proporcionando más información que la que proporcionaría el propio compilador. Linux, al ser un ecosistema principalmente de código abierto, tiene una gran cantidad de este tipo de aplicaciones que funcionan en varios lenguajes y arquitecturas de procesamiento diferentes. En esta guía, nos sumergiremos directamente en el mundo de los depuradores de Linux.

1. Depurador GNU (GDB)

ElDepurador GNU, también conocido como GDB, es uno de los depuradores de Linux más potentes disponibles para los programadores modernos. Es una herramienta robusta con un amplio conjunto de características. El BGF apoya muchoslenguajes de programación populares, incluidos C, C++, Go y Rust. También funciona en muchas arquitecturas de CPU diferentes, como x86, x86-64, ARM, PowerPC, SPARC y MIPS.

Instale GDB usando estos comandos:

En distribuciones basadas en Ubuntu/Debian:

En distribuciones Fedora/RHEL:

En distribuciones basadas en Arch:

Siempre que compile usando GCC con símbolos de depuración, puede recorrer las instrucciones de un programa mientras se ejecuta escribiendos. Mecanografíarejecutará su programa a través del depurador. Para iniciar GDB con el programa cargado, simplemente escribagdben su terminal seguido de la ruta del programa.

Una vez que estés dentro, escribehelp¡Le brindará un catálogo bien organizado que explica todo lo que puede hacer con este todopoderoso depurador!

2. Depurador de visualización de datos (DDD)

Si jugar con comandos no es lo tuyo pero aún te encantan las funciones que GDB tiene para ofrecer,DDDle ofrece una interfaz gráfica simple que proporciona todas sus funciones en una interfaz de apuntar y hacer clic. Es la GUI de depuración de Linux por excelencia.

La interfaz de usuario puede parecer un poco básica, pero es tan poderosa como cualquier otro depurador. ¡La diferencia aquí es que obtienes el depurador característico de GNU con una interfaz gráfica!

Para instalarlo:

En distribuciones basadas en Ubuntu/Debian:

En distribuciones Fedora/RHEL:

En distribuciones basadas en Arch:

Cualquier cosa basada en Arch tendrá que utilizar un asistente AUR, ya que DDD no existe en sus repositorios oficiales. Alternativamente, puede instalar DDD en un sistema basado en Arch sin un asistente AUR:

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

3. LLDB

LDBes 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 y Android Studio de macOS. Algunas de las características principales de LLDB incluyen soporte para varias integraciones de compiladores y depuración remota. Es compatible con los lenguajes C (C, C++ y Objective-C).

Para aquellos que ya están familiarizados con los comandos básicos de GDB, LLDB les resultará familiar. Mecanografíarunorejecuta el programa y escribesteposavanza a través de sus subrutinas.

Para instalarlo:

En distribuciones basadas en Ubuntu/Debian:

En distribuciones Fedora/RHEL:

En distribuciones basadas en Arch:

4. Profundizar

Ahondares un depurador de Linux simple pero rico en funciones para el lenguaje de programación Go de Google. Puede usarlo para interactuar con su programa en tiempo de ejecución y manipular cosas como rutinas y pilas. El depurador en sí está escrito en Go, lo que proporciona un tiempo de ejecución en el mismo entorno que el programa que estás probando.

Delve funciona según el mismo principio que GDB y LLDB, salvo por el hecho de que tiene un conjunto único de comandos que difieren mucho de los otros dos. Sólo escribehelpuna vez que esté dentro, tendrá una lista completa de todas las opciones de depuración que le ofrece.

A diferencia de los depuradores más generales para múltiples idiomas, Delve ofrece comandos más específicos de Go que le permiten profundizar en su aplicación a un nivel más granular mientras se ejecuta.

Para instalarlo:

En distribuciones basadas en Ubuntu/Debian:

En distribuciones Fedora/RHEL:

En distribuciones basadas en Arch:

5. Xdepuración

Si bien la mayoría de las personas aprenden a volcar sus variables (conocidas en las comunidades PHP como “dump & die”) para descubrir qué está mal en un determinado aspecto de su código, hay ocasiones en las que necesitas algo más pesado que pueda guiarte a través de todos los aspectos. de tus rutinas.xdebugofrece esto con creces para programadores PHP aspirantes y veteranos.

Es un depurador de Linux que recorre el código PHP línea por línea y muestra exactamente lo que sucede a medida que se procesa una página web. Xdebug también funciona en varios IDE, incluido VSCode. Sus otras características incluyen un generador de perfiles robusto, un 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-xdebug

En distribuciones Fedora/RHEL:

sudo dnf install php-xdebug

En distribuciones basadas en Arch:

6. KDbg

KDbges un depurador de GUI paraentorno de escritorio KDE. Dado que se ejecuta como una interfaz de GDB como lo hace DDD, obtienes todas las funciones 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 revisan su código, así como un panel completamente dedicado que muestra lo que contiene cada registro de la CPU. Esto no es tan fácil de visualizar en ninguno de los otros depuradores cubiertos aquí.

Debido a esto, KDbg es una opción fantástica para los programadores de aplicaciones nativas tradicionales, desde los renacuajos que recién están comenzando a aprender hasta los veteranos más empedernidos.

Para instalar KDbg:

En distribuciones basadas en Ubuntu/Debian:

En distribuciones Fedora/RHEL:

En distribuciones basadas en Arch:

Nota: Si estás usando una distribución basada en Ubuntu o Debian y no encuentras el paquete para kdbg en los repositorios oficiales, esto es 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 install

7. Puerta electoral

Puerta electorales un depurador de memoria sólido que ofrece muchas herramientas adicionales para el análisis de software. Se ejecuta tanto en Linux como en Mac. Además, puede utilizarlo como marco y crear herramientas de análisis dinámico como generadores de perfiles. En general, Valgrind es una excelente opción para los profesionales debido a su rico conjunto de funciones 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 valgrind

En distribuciones Fedora/RHEL:

sudo dnf install valgrind

En distribuciones basadas en Arch:

8. traza

rastroes una utilidad de espacio de usuario para Unix que permite a los usuarios rastrear llamadas y señales del sistema directamente desde la terminal.

Los programadores pueden usarlo para volcar rastros de pila, filtrar llamadas al sistema, modificar códigos de retorno, extraer descriptores de archivos y mucho más.

Más importante aún, strace le permite conectarse a programas en ejecución. Esto le permite profundizar en cualquier software que ejecute en su máquina para obtener más información sobre lo que podría estar causando un bloqueo.

Para instalar strace:

En distribuciones basadas en Ubuntu/Debian:

En distribuciones Fedora/RHEL:

En distribuciones basadas en Arch:

El Arsenal espera

Con estas herramientas, puede hurgar, pinchar y analizar su código de maneras que antes parecían inaccesibles. Puede que haya que seguir una pequeña curva de aprendizaje, pero vale la pena. Si te tomas en serio la programación en Linux, aprender a utilizar sus depuradores te ahorrará mucho más tiempo a largo plazo.

Ahora que tiene los mejores depuradores de Linux, es hora de que encuentre elLas mejores distribuciones de Linux para desarrolladores y programadores..

Crédito de la imagen: todas las imágenes del autor.

Miguel ha sido un experto en tecnología y crecimiento empresarial durante más de una década y ha escrito software durante incluso más tiempo. Desde su pequeño castillo en Rumania, presenta perspectivas frías y analíticas sobre las cosas que afectan al mundo tecnológico.

Deja una respuesta

Su dirección de correo electrónico no será publicada. Se indican los campos obligatorios *