2012-01-20 13 views

Respuesta

20

Eclipse tiene muy robustas capacidades de depuración - mucho más que Objective C.

En primer lugar, durante la depuración, puede ver los valores de todas las variables en la ventana Variables. Además, en la parte inferior de la ventana Variables, puede escribir arbitrariamente Java, seleccionarla, hacer clic con el botón secundario y luego seleccionar Inspeccionar o Ejecutar. De hecho, puede cambiar el valor de las variables en su programa mientras se está ejecutando.

Puede hacer prácticamente lo mismo en su panel de origen. Resalte una variable, haga clic con el botón derecho y elija Inspeccionar. También puede escribir una expresión aleatoria y ejecutarla. También puede hacer cambios en las variables (que creo que puede hacer en Objective-C) o en las expresiones.

Hay una vista de Expresión que no se muestra de manera predeterminada (en su menú, seleccione Ventana-> Vistas-> Expresiones, en la perspectiva de Depuración). Le permite agregar expresiones Java arbitrarias (válidas) y los valores de esas expresiones se verán a lo largo de la vida de su sesión de depuración, muy ingenioso. Gracias a @Baldrick por el recordatorio de esta gran herramienta.

+3

+1. También la vista "Expresión" (en la perspectiva de Debug). Puede poner código Java en esta vista que se evalúa cuando llega a un punto de interrupción y en cada paso de la depuración. – Baldrick

+0

@B Aldrick: se olvidó por completo de la vista de Expresión, que es otra excelente herramienta. – Perception

+2

Quiero consola de línea de comandos porque no quiero usar el mouse cuando evalúo una expresión porque generalmente la expresión para la depuración se vuelve compleja. Y también, apuntar un ícono pequeño con el mouse es mucho más difícil que usar el teclado. – Eonil

4
System.out.println(nameOfValue); 
+1

No puedo encontrar la ventana en la que puedo ingresar esto :( – Eonil

+0

Puedes ponerlo en la ventana de expresiones – MichaelStoner

+0

El código anterior iría en la vista "Pantalla" ya que es un comando no una expresión. –

0

Anular toString para ese objeto/clase. Luego System.out.println (objectVariable).

1

Haga clic en el menú Ventana, seleccione mostrar visualización del tipo de vista y muestre esa vista. En esta vista, puede escribir java como System.out.println(objectName); cuando la aplicación se haya detenido durante la depuración.

+0

Esto no 'imprima cualquier cosa ... – Eonil

+0

Debe imprimirlo en la consola o le dará un error en la ventana de visualización si no se pudo ejecutar el código – James

+0

¿El objeto está tratando de imprimir una cadena, si es así la cadena podría estar en blanco, intente Otra línea después para imprimir un texto y ver si hay un espacio entre la última salida de la consola y el texto que imprimió – James

2

No conozco ninguna opción de impresión de todo el estado del objeto en la consola durante la depuración.

Pero puede anular el método toString() de su objeto y allí concatenar la cadena con los valores de cada campo o lo que desee imprimir para ese objeto. Luego, cuando llame a algún lugar del código System.out.print(myObject);, imprimirá el resultado del método toString() que ha anulado.

Cuestiones relacionadas