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.
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!
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.
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.
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.
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.
Si se congela la interfaz de usuario (UI), generalmente se debe a que el hilo de la UI está bloqueado.
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.
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!
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.
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.
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.
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!
¡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:
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.
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