Expanda un puntero de matriz en la ventana Inspección del depurador de Visual C++

En este artículo se describe cómo expandir un puntero de matriz para ver todos los elementos de matriz en la ventana Inspección del depurador de Visual C++.

Versión original del producto:   Visual C++
Número de KB original:   198953

Resumen

A partir de la versión 6.0 de Visual C++, ahora es posible expandir un puntero de matriz para ver todos los elementos de matriz en la ventana Inspección del depurador de Visual C++. Esta característica no está documentada.

En la ventana Inspección , escriba una expresión que se evalúe como un puntero seguido de una coma y el número de elementos de la matriz.

Más información

  1. Compile la versión de depuración del código siguiente como una aplicación de consola.

    // Filename main.cpp
    // No compile option needed
    #include <iostream.h>
    void main(void)
    {
        int * p;
        char* ptr = "Hello World";
        p = new int [10];
    
        for(int i=0; i<=9; i++){*(p+i) = i+1;}
        cout << i <<endl;
    }
    
  2. Entre en el código con el depurador y deténgase en la última línea de código.

  3. En la ventana Inspección o Inspección rápida , agregue la variable p o ptr . Verá un símbolo más (+) junto a la variable.

  4. Haga clic en el símbolo más (+) para expandir la variable. Verá solo el primer elemento de la matriz al que apunta.

  5. Ahora, escriba p,10 o ptr,11 en la ventana Inspección .

  6. Haga clic en el símbolo más (+) para expandir la variable. Ahora verá todos los elementos de la matriz a los que apunta.

Si desea ver un intervalo específico de elementos, escriba la dirección del primer elemento para especificar el índice inicial, seguido del especificador de formato como se describe en los pasos anteriores. Por ejemplo, (p+3),8 muestra elementos p[3..10]y (ptr+3),10 muestra elementos ptr[3..12]. Desafortunadamente, el índice inicial de la ventana Inspección será [0], que realmente corresponde al índice 3 de este ejemplo. Recuerde que el desplazamiento 3 debe agregarse a cada índice mostrado para obtener el índice real del elemento de matriz.