2009-08-21 14 views
11

Me pregunto si hay una forma de ver los valores de las variables no declaradas cuando pasan a una función, después de que se haya ejecutado esa función. Por ejemplo, si estoy depuración y la líneaEn el depurador de Eclipse (para Java), ¿hay alguna forma de inspeccionar los valores arbitrarios?

foo.setBar(baz.getBar()); 

ya ha sido aprobado (pero aún está dentro de alcance), ¿cómo puedo ver el valor de lo conseguido en el pasado a setBar()? Sé que puedo ver esto de muchas otras maneras, por ejemplo, ingresando a la llamada setBar(), o asignando baz.getBar() a una variable temporal, pero eso no es lo que estoy pidiendo.

Editar: Básicamente, me siento penalizado (al perder la capacidad de ver cierta información) durante la depuración, simplemente porque no declaro cada variable.

Y, sé que podría inspeccionar bar después del hecho (si sé que no había cambiado) pero en este caso no es tan simple porque estoy tratando con objetos que no son solo POJO o JavaBeans (el el objeto que generó esta pregunta es una solicitud HTTP, y sí, ya intenté inspeccionarla).

+0

para ser aún más específico, que le gustaría saber lo que pasó a foo.setBar (...) incluso si se llama dos veces? es decir, ¿cuál fue el primer valor pasado y cuál fue el segundo? – akf

Respuesta

14

En la perspectiva de depuración, abra la ventana de visualización (Ventana => Mostrar vista => Pantalla), escriba el código que desea visualizar (por ejemplo, baz.getBar()), selecciónelo y haga clic derecho y elija "Mostrar" o use el atajo para mostrar su valor.

+0

Casi - tuve que seleccionar primero el texto que quería ejecutar. ¡Gracias! Nunca supe de esa vista. –

+0

Utilicé Inspeccionar todo el tiempo, pero esto es realmente útil cuando se quiere probar bits de código arbitrarios. Mucho menos engorroso que editar Expresiones todo el tiempo. ¡Gracias por otra característica oculta de Eclipse! =) – schonarth

4

Y, por supuesto, puede usar la vista "Expresiones" (Ventana -> Mostrar vista -> Expresiones).

10

Una forma mucho más fácil es seleccionar una expresión (aquí: baz.getBar()) y presionar CTRL + MAYÚS + I (para inspeccionar). Esto abre una ventana con información sobre herramientas con todo lo que desea saber.

+0

¡De hecho! Aunque, menos flexible. –

0

en sus expresiones ver, añadir la siguiente expresión

baz.getBar() 

y se dispayed durante la depuración (si es visible para el depurador por supuesto)

+0

Esto no es diferente de [la respuesta de Serge.] (Http://stackoverflow.com/a/1313418/139010) –

Cuestiones relacionadas