"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Depurar sin puntos de interrupción

Depurar sin puntos de interrupción

Publicado el 2024-08-14
Navegar:383

Leer en otros idiomas: English Español 中文

En un escenario de depuración típico, establecería puntos de interrupción para indicarle al depurador cuándo suspender su programa. Un punto de interrupción suele corresponder al momento que marca el punto de partida para una mayor investigación.

Decidir dónde establecer un punto de interrupción puede ser un desafío. Puede haber situaciones en las que la línea exacta no esté clara o es posible que prefiera pausar el programa según el tiempo en lugar del código específico.

En este artículo, veremos la funcionalidad Pausar programa de IntelliJ IDEA, una técnica de depuración menos conocida que puede ser extremadamente poderosa en algunos escenarios, incluidos los descritos anteriormente. Discutiremos sus casos de uso y limitaciones, además de descubrir el secreto paso a paso.

¿Qué es la pausa?

Programa de pausa es una característica del depurador IntelliJ IDEA que le permite pausar arbitrariamente su aplicación en cualquier momento. Además, ni siquiera necesitas conocer el código de la aplicación. De hecho, ¡puedes simplemente ignorarlo!

Depurar sem Pontos de Interrupção

Para pausar un programa, haga clic en Pausar programa en la barra de herramientas del depurador. Luego, el programa se detendrá justo en medio de lo que estés haciendo.

Limitaciones

A primera vista, un programa en pausa puede verse exactamente como uno que ha sido suspendido en un punto de interrupción. Sin embargo, esto sólo es cierto hasta cierto punto.

Depurar sem Pontos de Interrupção

Sería correcto considerar Pausar programa una especie de volcado de subprocesos más. Aún puedes inspeccionar tanto las variables como los subprocesos como lo harías normalmente. Sin embargo, algunas de las funciones más avanzadas, como Evaluar expresión, no funcionarán.

Casos de uso

Existen innumerables formas de utilizar Pausar el programa. A menudo se puede utilizar indistintamente con los puntos de interrupción tradicionales. Sin embargo, hay escenarios en los que utilizar Pausar programa es un enfoque más apropiado. Consideremos algunos de ellos.

Aplicaciones que no responden

Si se congela la interfaz de usuario (UI), generalmente se debe a que el hilo de la UI está bloqueado.

Depurar sem Pontos de Interrupção

Pausar programa podría ser útil en este caso, ya que le permite pausar la aplicación mientras no responde y examinar la pila de llamadas del hilo de la interfaz de usuario. Esto suele ser suficiente para diagnosticar el problema.

Fuentes faltantes

Como se mencionó anteriormente, Pausar el programa le permite simplemente ignorar el código fuente, que de todos modos puede faltarle. Aunque este escenario no es muy común, cuando te encuentres con él, los puntos de interrupción no te serán de ninguna ayuda.

¡Aquí es donde Pausar el programa entra en juego!

Depurar sem Pontos de Interrupção

Cabellos

Si sospecha que hay un problema de sincronización, como un interbloqueo o un bloqueo activo, Pausar el programa puede ayudarlo a encontrar los subprocesos y bloqueos exactos que están causando el problema.

Depurar sem Pontos de Interrupção

En este caso, pausa el programa e inspecciona la lista de temas. Mostrará qué hilos están bloqueados. Cuando navegue hasta el punto de ejecución, también verá las secciones críticas donde están bloqueadas. Esta información puede ayudarle a encontrar una solución.

Consejo secreto paso a paso

Como mencioné anteriormente, Pausar programa limita su acceso a algunas de las funciones avanzadas del depurador. Si ha intentado utilizar ciertas funciones mientras una aplicación está en pausa, es posible que haya visto un mensaje de error que dice No se pueden evaluar los métodos después de la acción de pausa.

Depurar sem Pontos de Interrupção

Sin embargo, existe un atajo para esta restricción.

Después de haber pausado una aplicación, continúa realizando cualquier acción paso a paso. Entrar en o Pasar por encima bastará. Una vez hecho esto, estará en una sesión de depuración normal, similar a cuando suspende una aplicación mediante un punto de interrupción. ¡Todas las funciones avanzadas ahora están desbloqueadas!

Conclusión

¡Eso es todo por hoy! Espero que estos consejos y trucos te resulten útiles.

Si está interesado en más artículos relacionados con la depuración y la creación de perfiles, consulte algunos de mis otros artículos:

  • Debugger.godMode() – Hackear una aplicación JVM con el depurador
  • Solución de problemas de lentitud del depurador
  • Depuración de aplicaciones inactivas
  • ¿Qué hay de malo en createDirectories()? - Guía de perfiles de CPU

Si hay algo específico sobre la depuración en Java que desea que cubra, ¡no dude en ponerse en contacto! Tu opinión te ayudará a priorizar y publicar el contenido que te resulte más interesante.

Declaración de liberación Este artículo se reproduce en: https://dev.to/flounder4130/depurar-sem-pontos-de-interrupcao-5ekk?1 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3