Freigeben über


Erweitern eines Arrayzeigers im Visual C++-Debuggerüberwachungsfenster

In diesem Artikel wird beschrieben, wie Sie einen Arrayzeiger erweitern, um alle Arrayelemente im Visual C++-Debuggerüberwachungsfenster anzuzeigen.

Originalproduktversion: Visual C++
Ursprüngliche KB-Nummer: 198953

Zusammenfassung

Ab Visual C++ Version 6.0 ist es jetzt möglich, einen Arrayzeiger zu erweitern, um alle Arrayelemente im Visual C++-Debuggerüberwachungsfenster anzuzeigen. Dieses Feature ist nicht dokumentiert.

Geben Sie im Überwachungsfenster einen Ausdruck ein, der zu einem Zeiger ausgewertet wird, gefolgt von einem Komma und der Anzahl der Elemente im Array.

Weitere Informationen

  1. Erstellen Sie die Debugversion des folgenden Codes als Konsolenanwendung.

    // 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. Treten Sie mit dem Debugger in den Code ein, und beenden Sie an der letzten Codezeile.

  3. Fügen Sie im Fenster "Überwachung " oder "QuickWatch " die Variable oder die Variable p hinzu ptr . Neben der Variablen wird ein Pluszeichen (+) angezeigt.

  4. Klicken Sie auf das Pluszeichen (+), um die Variable zu erweitern. Es wird nur das erste Element des Arrays angezeigt, auf das es verweist.

  5. Geben Sie nun im Überwachungsfenster p,10 oder ptr,11 ein.

  6. Klicken Sie auf das Pluszeichen (+), um die Variable zu erweitern. Nun werden alle Elemente des Arrays angezeigt, auf das es verweist.

Wenn Sie einen bestimmten Elementbereich anzeigen möchten, geben Sie die Adresse des ersten Elements ein, um den Anfangsindex anzugeben, gefolgt von dem Formatbezeichner, wie in den vorherigen Schritten beschrieben. (p+3),8 zeigt z. B. Elemente p[3..10]an, und (ptr+3),10 zeigt Elemente ptr[3..12] an. Leider wird der Startindex im Überwachungsfenster [0] lauten, der tatsächlich index 3 in diesem Beispiel entspricht. Denken Sie daran, dass der Offset 3 jedem angezeigten Index hinzugefügt werden muss, um den tatsächlichen Index des Arrayelements abzurufen.