8 de los mejores depuradores de Linux para ingenieros de software

8 de los mejores depuradores de Linux para ingenieros de software
Juego de caracteres = id de caracteres no válido 48

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)

El Depurador 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. GDB admite muchos lenguajes 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.

Demostración de GDB ejecutando un programa de prueba

Instale GDB usando estos comandos:

En distribuciones basadas en Ubuntu/Debian:

En distribuciones Fedora/RHEL:

En distribuciones basadas en Arch:

Siempre que compile utilizando GCC con símbolos de depuración, puede recorrer las instrucciones de un programa mientras se ejecuta escribiendo s. Al escribir r, su programa se ejecutará a través del depurador. Para iniciar GDB con el programa cargado, simplemente escriba gdb en su terminal seguido de la ruta del programa.

Una vez que estés dentro, escribiendo help obtendrás un catálogo bien organizado que explica todo lo que puedes 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, DDD te ofrece una sencilla interfaz que proporciona todas sus funciones en una interfaz de apuntar y hacer clic. Es la GUI de depuración de Linux por excelencia.

DDD ejecutando un programa rudimentario y saliendo.

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:

3. 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 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).

Linuxdepurador Lldb

Para aquellos que ya están familiarizados con los comandos básicos de GDB, LLDB les resultará familiar. Al escribir run o r se ejecuta el programa, y ​​al escribir step o s se avanza 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

Delve es 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.

Depurador de Delve ejecutando un programa con código rudimentario.

Delve funciona según el mismo principio que GDB y LLDB, excepto por el hecho de que tiene un conjunto único de comandos que difieren mucho de los otros dos. Simplemente escriba help una vez que esté dentro y 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.

Usar Delve para buscar rutinas y subprocesos específicos de Go.

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 se necesita algo más pesado. que puede guiarte a través de todas tus rutinas. Xdebug ofrece esto con creces para programadores PHP aspirantes y veteranos.

Salida de Xdebug durante una sesión de depuración de algunos simples

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:

En distribuciones Fedora/RHEL:

En distribuciones basadas en Arch:

6. KDbg

KDbg es un depurador de GUI para el entorno 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 tratados 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.

KDbg depurando un programa en ejecución escrito en C.

Para instalar KDbg:

En distribuciones basadas en Ubuntu/Debian:

En distribuciones Fedora/RHEL:

En distribuciones basadas en Arch:

7. Puerta electoral

Valgrind es 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.

Valgrind detecta una pérdida de memoria en un programa.

Para instalar Valgrind:

En distribuciones basadas en Ubuntu/Debian:

En distribuciones Fedora/RHEL:

En distribuciones basadas en Arch:

8. traza

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

Strace del depurador de Linux

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 tienes los mejores depuradores de Linux, es hora de que encuentres las mejores distribuciones de Linux para desarrolladores y programadores. un>

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *