2009-12-01 24 views
21

¿Es posible ver el contenido de una matriz asignada dinámicamente, como en:Eclipse-C++ - Depuración: ver el contenido de una matriz

int *array = new int[dimension]; 

que sólo ven el valor del puntero.

editar: acaba de encontrar la opción "Mostrar como una matriz", pero siempre tengo que introducir manualmente el tamaño de la matriz. ¿Es posible conseguir que la automágicamente?

Respuesta

35

en eclipse, para ver el contenido de una matriz asignada dinámicamente (por cualquier otra persona que se topa con esta pregunta),

  1. asegurarse de que está en la perspectiva de depuración. busca la ventana de "variables". si no lo ve, haga clic en "ventana"> "Mostrar la presentación"> "variables".
  2. clic derecho sobre la matriz de variables
  3. clic de visualización como una matriz
  4. Eclipse no sabe el tamaño de su matriz es, por lo escriba 0 para el índice de inicio y el número de elementos que se asigna dinámicamente para la longitud.

choose display as array in eclipse

3

acaba de encontrar la opción "mostrar como una matriz", pero siempre tengo que ingresar manualmente el tamaño de la matriz. ¿Es posible conseguir que la automágicamente?

Eso es bueno. Me quedaría con eso Conseguir la matriz automáticamente no es posible en el caso general en C o C++, aunque seguramente en algunos casos triviales podría hacerse (pero probablemente todavía no), las características deben implementarse antes de que existan, parafraseando a Raymond Chen).

8

Si se quiere evitar tener que repetidamente hacemos "Mostrar como matriz", abra la pestaña "expresiones" y añadir la expresión (*[email protected]). No sé por qué los paréntesis son necesarios. Sin ellos, obtendrías un error.

5

En la pestaña "Expresiones", si hace lo que se observa y escribe (*[email protected]), entonces puede establecer dinámicamente el tamaño de la matriz para mostrar también. Esto incluso funciona cuando necesitas otra expresión para obtenerlo.

Así que supongamos que tiene una variable x que contiene el tamaño de la matriz, que escribe (*[email protected]) y se va a utilizar el contenido de x como una dimensión.

"X" también pueden ser cosas como contenidos estructura o desreferencias puntero y similares - es decir

(*[email protected]>x) 

funciona bien.

Cuestiones relacionadas