Een matrixaanwijzer uitvouwen in het venster Visual C++ foutopsporingsprogramma Watch

In dit artikel wordt beschreven hoe u een matrixaanwijzer uitvouwt om alle matrixelementen weer te geven in het venster Visual C++-foutopsporingsprogramma Watch .

Oorspronkelijke productversie: Visual C++
Oorspronkelijk KB-nummer: 198953

Samenvatting

Vanaf Visual C++ versie 6.0 is het nu mogelijk om een matrixaanwijzer uit te breiden om alle matrixelementen weer te geven in het venster Visual C++ foutopsporingsprogramma Watch . Deze functie is niet gedocumenteerd.

Typ in het venster Controle een expressie die resulteert in een aanwijzer gevolgd door een komma en het aantal elementen in de matrix.

Meer informatie

  1. Bouw de foutopsporingsversie van de volgende code als consoletoepassing.

    // 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. Stap in de code met het foutopsporingsprogramma en stop bij de laatste coderegel.

  3. Voeg in het venster Watch of QuickWatch de variabele p of ptr . U ziet een plusteken (+) naast de variabele.

  4. Klik op het plusteken (+) om de variabele uit te vouwen. U ziet alleen het eerste element van de matrix waarnaar deze verwijst.

  5. Typ nu p,10 of ptr,11 in het venster Controle .

  6. Klik op het plusteken (+) om de variabele uit te vouwen. Nu ziet u alle elementen van de matrix waarnaar deze verwijst.

Als u een specifiek bereik van elementen wilt zien, voert u het adres van het eerste element in om de beginindex op te geven, gevolgd door de notatieaanduiding zoals beschreven in de voorgaande stappen. Bijvoorbeeld: (p+3),8 toont elementen p[3..10]en (ptr+3),10 toont elementen ptr[3..12]. Helaas is de beginindex in het venster Watch [0], wat in dit voorbeeld overeenkomt met index 3. Houd er rekening mee dat de offset 3 moet worden toegevoegd aan elke weergegeven index om de werkelijke index van het matrixelement op te halen.