2011-10-26 27 views
6

Estamos trabajando en un programa Java con una GUI y estamos buscando una herramienta que nos muestre qué partes del código se ejecutan al hacer clic en los botones en la GUI. Alguna sugerencia ? Gracias de antemanoRecorriendo la GUI en Java

Respuesta

7

Eclipse con modo de depuración puede hacer eso, solo necesita poner puntos de interrupción en sus oyentes y haga clic en los botones.

Funciona fuera de la caja con eclipse ... una ejecución simple Depurar y listo.

+0

Tal vez estoy haciendo algo mal, pero creo que cuando hay múltiples hilos de ejecución esto no funciona tan bien. El programa se queda atascado en el punto de ruptura y deja de responder y el depurador no se enfoca en el punto de ruptura. – Cemre

+0

Eso no es correcto. Uso la depuración de eclipse con varios subprocesos y algunas veces pierdo la pista del subproceso actual, pero solo tiene que seleccionarlo de la lista de subprocesos y la depuración vuelve a estar en línea. –

+0

Lo sentimos, esto simplemente no es útil en una aplicación con más de 30 hilos. Si ya sé dónde buscar, no necesito una herramienta para encontrarlo. – Yaro

2

Personalmente, yo uso BlueJ depurador:

http://www.stfrank.com/debug-21.png

+1

Nunca he oído hablar de eso. Ordenado. – Dave

+1

Si bien esto puede responder teóricamente a la pregunta, [sería preferible] (https://meta.stackexchange.com/questions/8231) incluir las partes esenciales de la respuesta aquí y proporcionar el enlace de referencia. –

2

El enfoque más simple es usar comandos de impresión. Si necesita más sofisticación, use un IDE (por ejemplo, Eclipse, NetBeans, etc.) en modo de depuración o algún mecanismo de registro (por ejemplo, log4j).

1

utilizo Swing Explorer

+0

parece muy poderoso depurador de oscilación +1 –

+0

pero no funciona con algunas personalizadas L & F y se niegan a mostrar algunos COntainers de bibliotecas SwingX – mKorbel

+1

Si bien esto puede responder teóricamente a la pregunta, [sería preferible] (https: //meta.stackexchange .com/questions/8231) para incluir las partes esenciales de la respuesta aquí y proporcionar el enlace de referencia. –