En un mundo ideal, los bichos nunca llegarían a la producción. Pero, los errores de software son una parte inevitable de la vida de un desarrollador. Las herramientas de depuración de Java existen para ayudarnos a resolver errores más rápidamente, para que podamos seguir haciendo lo que mejor hacemos.
Esta lista de herramientas de depuración de Java lo ayudará a evaluar sus opciones rápidamente para que pueda encontrar la mejor para el trabajo.

1. Informe Raygun Crash

Raygun es una herramienta de depuración de Java
Una de las cosas más difíciles de la depuración es que no siempre sabe qué errores están experimentando sus usuarios. Raygun Error Monitoring tiene todo lo que necesita para descubrir errores, errores y bloqueos que ocurren en la producción y más allá.
Raygun4Java le permite enviar excepciones de las aplicaciones de escritorio y consola de Java y Scala de forma predeterminada. Puede enviar todas sus excepciones a su panel de Raygun para que pueda ver un diagnóstico detallado de cada error, incluidos los seguimientos completos de la pila, los datos relacionados con los nombres de métodos, funciones y clases, y más.
La instalación y configuración no lleva más de unos minutos. Raygun puede procesar cualquier objeto que herede de la Throwableclase. Las funciones avanzadas como Breadcrumbs, Filters y Custom Tags también facilitan el proceso de depuración.

2. Eclipse

Eclipse es una herramienta de depuración de Java
Eclipse es un popular IDE de código abierto que se usa para el desarrollo de Java, pero también tiene complementos para otros lenguajes como PHP, Python, Ruby y C #. La plataforma Eclipse incluye funciones avanzadas de depuración que lo ayudan a inspeccionar su código durante la ejecución, lo que lo convierte en una herramienta completa. Una gran ventaja es que el flujo de trabajo de Eclipse es conveniente porque puede usar la misma plataforma tanto para el desarrollo como para la depuración.
Una de las mejores características de Eclipse es la perspectiva de depuración, que muestra información relevante de depuración lado a lado, como variables, puntos de interrupción, subprocesos y pilas de llamadas.
Con Eclipse, también puede suspender y reanudar subprocesos, pasar por la ejecución del programa, inspeccionar valores y evaluar expresiones.

3. NetBeans

NetBeans es una herramienta de depuración de Java
NetBeans es otro IDE gratuito y de código abierto. Al igual que Eclipse, las funcionalidades de depuración están integradas en la plataforma, por lo que solo necesita descargar el IDE para obtener la herramienta de depuración.
NetBeans viene en diferentes paquetes de descarga; para Java, necesitará la edición de Java SE o Java EE. Este último también es compatible con HTML5, JavaScript y los servidores GlassFish y Tomcat, por lo que es una mejor opción para trabajos de desarrollo más serios.
El depurador de NetBeans tiene muchas características similares a Eclipse. De hecho, ambas son excelentes herramientas de depuración para inspeccionar el código fuente e identificar problemas como las pérdidas de memoria y los problemas de concurrencia. NetBeans le permite configurar puntos de interrupción y puntos de interrupción condicionales, paso a través del código, cambiar hilos y supervisar la ejecución en tiempo real.
NetBeans también le proporciona la característica característica de depurador visual para que pueda depurar los elementos visuales de sus aplicaciones Java y JavaFX GUI. Con el Visual Debugger, puede agregar escuchas a las acciones de la GUI, ver las propiedades de los componentes y la jerarquía de los componentes, y ubicar el código fuente.
Si usa NetBeans, también obtiene acceso a la herramienta NetBeans Profiler incorporada Con el generador de perfiles, puede verificar el uso de la memoria, el rendimiento de la CPU, los estados de los subprocesos y otras características de su aplicación Java. Estas características trabajan juntas para ayudarlo a optimizar la velocidad y el uso de la memoria y reducir los gastos generales.
Como Apache Software Foundation adquirió NetBeans a principios de 2018, puede esperar más integraciones y características extendidas en el futuro, especialmente porque Apache ya alberga muchos de los proyectos Java desde la herramienta de compilación Maven al servidor Tomcat.

4. IntelliJ IDEA

IntelliJ IDEA es una herramienta de depuración de Java
Además de Eclipse y NetBeans, IntelliJ IDEA es el tercer IDE que los desarrolladores de Java suelen mencionar cuando se les pregunta qué IDE usan. Desarrollado por JetBrains, IntelliJ IDEA viene con una comunidad de código abierto y una edición comercial de pago . Es principalmente un IDE de Java, pero también puede usarlo con otros lenguajes JVM como Groovy, Kotlin y Scala. La edición comercial es compatible con muchos marcos JVM y no JVM , como Spring, Java EE, Play, Grails, GWT y Vaadin. Mejor aún, ambas ediciones vienen con soporte para el desarrollo de Android - excelente si está ejecutando múltiples proyectos. Al igual que los depuradores de IDE mencionados anteriormente, IntelliJ IDEA también incluye un depurador de Java integrado que funciona de manera inmediata.
IntelliJ IDEA tiene todas las características de depuración estándar que usted esperaría de una herramienta de depuración mejor en su clase. IntelliJ IDEA le permite:
  • Crea y configura puntos de interrupción y puntos de observación.
  • Evaluar expresiones
  • Pausa y reanuda la sesión del depurador
  • Examinar hilos suspendidos
  • Paso a través del código fuente
  • Analizar el uso de la memoria
  • … Y más
También puede utilizar IntelliJ IDEA para depurar aplicaciones Java de forma remota.
La depuración en línea es la característica más interesante y única de IntelliJ IDEA. El depurador en línea muestra los valores de las variables dentro del código, justo al lado de la línea donde se usaron. Cuando el valor de la variable cambia, el depurador en línea lo resalta con un color diferente. Para verificar los valores, no hay necesidad de pasar a la ventana de depuración o desplazarse sobre cada variable uno por uno, como con Con Eclipse y NetBeans.

5. Código de Visual Studio

Visual Studio Code es una herramienta de depuración de Java
No siempre es necesario utilizar un IDE para depurar aplicaciones Java. El editor de código fuente multiplataforma de Microsoft, Visual Studio Code también hace posible la depuración de Java a través del depurador para la extensión de Java .
Si utiliza Visual Studio Code para la edición de código de todos modos y necesita una herramienta de depuración ligera y fácil de usar para su flujo de trabajo de desarrollo de Java, Visual Studio Code es una excelente opción. Aunque no tiene tantas funciones avanzadas como los depuradores IDE, sabe todo lo que necesita para una sesión de depuración rápida.
El depurador de Java de Visual Studio Code se basa en el servidor de depuración de Java que extiende otra extensión de Visual Studio Code llamada Soporte de idiomas para Java de Red Hat .
El depurador de código VS le permite:
  • Realizar depuración local y remota.
  • Configurar puntos de interrupción y puntos de registro condicionales
  • Paso a través del código fuente
  • Inspeccionar y observar variables
  • Ver pilas de llamadas
  • Depurar múltiples hilos
  • Evaluar expresiones
  • Utilice el código de reemplazo en caliente
La extensión del depurador de VS Code viene con muchas opciones de configuración que puede consultar en los documentos.

6. El depurador de Java (jdb)

JDB es una herramienta de depuración de Java
Si no puede (o no quiere) usar software externo para la depuración de Java, también es posible depurar las aplicaciones Java desde la línea de comandos. El Java Debugger (jdb) es un simple depurador de línea de comandos proporcionado por Oracle. Es el equivalente del depurador de GNU (gdb) para la máquina virtual de Java. El Java Debugger está incluido en el kit de desarrollo de Java SE, por lo que si tiene JDK instalado en su máquina, no necesita hacer nada más. Puede iniciar el depurador con el jdbcomando y acceder a la lista de comandos con el helpcomando.
El depurador de Java es, de hecho, una demostración de la arquitectura del depurador de plataforma de Java (JDPA) . JDPA es una colección de tres interfaces: JVM TI (Interfaz de herramientas de máquina virtual Java), JDWP (Protocolo de cable de depuración de Java) y JDI(Interfaz de depuración de Java). JDPA es una arquitectura de depuración que proporciona a los desarrolladores herramientas para crear sus propias aplicaciones de depuración: jdb es solo uno de los posibles usos de JDPA.
El depurador jdb le permite realizar sesiones de depuración en profundidad en la línea de comandos. Con el depurador jdb, puedes:
  • Listar, suspender y reanudar hilos
  • Evaluar expresiones
  • Imprimir toda la información del objeto
  • Establecer puntos de interrupción
  • Campos de observación
  • Método de seguimiento de llamadas
  • Paso a través del código
  • Permitir y prevenir la recolección de basura de un objeto.
  • … Y más
Un depurador de línea de comandos no es la mejor opción para el trabajo de desarrollo diario debido a su complejidad. Sin embargo, viene con una ventaja - portabilidad . Puede configurarlo en un servidor sin demasiados problemas, ya que no tiene que conectar el servidor a un depurador de IDE remoto. Todo esto hace de jdb una herramienta ideal para la resolución rápida de problemas, lo cual es importante en un entorno de producción.

¿Qué herramienta de depuración de Java es la mejor para tu proyecto?

Depurar Java no tiene por qué ser un desafío. El uso de cualquiera de estas herramientas de depuración hará que el proceso de depuración sea mucho más rápido. Cada caso de uso será diferente, pero la evaluación de sus opciones le ayudará a elegir la herramienta adecuada para su proyecto.