Ich verwende Eclipse und Netbeans für C, und ich möchte die Werte von Variablen überprüfen, die dynamisch im Speicher zugewiesen werden, wenn ich debugge (sowohl in Eclipse y netbeans ).
Aus irgendeinem Grund kann ich nur den Wert des Zeigers selbst und sein erstes Element sehen.
zur Veranschaulichung: mit diesem Code:
int foo[10];
Ich kann den Wert des gesamten Arrays später (bei der Fehlersuche) überprüfen. Ich kann zum Beispiel den Wert von foo[7] im Uhrenfenster überprüfen.
aber mit diesem Code:
int *bar = malloc(10*sizeof(int));
ich kann nur überprüfen, wo bar
zeigt, und der Wert von bar[0]
(aber nicht die anderen Werte).
Wie kann ich alle Werte des Arrays überwachen?
UPDATE: Das Problem wurde sowohl in Eclipse als auch in Netbeans gelöst.
in Eclipse: Klicken Sie mit der rechten Maustaste auf die gewünschte Variable im Fenster Variablen Fenster -> auswählen Display As Array -> Geben Sie den Startindex und die Array-Länge ein.
in Netbeans: in der Uhren fügen Sie eine neue Uhr mit folgendem Format hinzu:
*((bar)+0)@10
wobei bar
sollte der Zeigername sein, 0
sollte Ihr Startindex sein und sein. 10
sollte seine Länge sein
Wenn ich etwas Persönliches hinzufügen darf: dies ist meine allererste Nachricht auf Stackoverflow . ich hoffe, Sie haben es nützlich gefunden.