2014-09-23 2 views
5

In der IAR Embedded Workbench habe ich einen Zeiger auf einen Puffer im Speicher. Wenn ich den Zeiger beobachte, kann ich den Inhalt des Wortes sehen, auf das er zeigt. Wie kann ich in der Watch-Ansicht angeben, dass der Puffer ab dem Zeiger für eine bestimmte Länge von Elementen angezeigt werden soll?Wie kann ein Array-Bereich über einen Zeiger im IAR IDE Watch-Fenster angezeigt werden?

Geben Sie zum Beispiel den Ausdruck:

myPtr[0..2] 

werden Informationen äquivalent zu den drei Ausdrücke angezeigt:

myPtr[0] 
myPtr[1] 
myPtr[2] 
+0

Nette Idee, aber ich habe nie stößt auf einen Debugger, der die Interpretation eines Zeigers als ein Array benutzerdefinierter Länge unterstützt. In diesen Situationen verwende ich normalerweise ein Speicherfenster, aber das ist nur für sehr einfache Fälle gut. – Clifford

+0

@Clifford - Ich bin 99,99% sicher, dass Sie dies mit MS Visual Studio tun können. Sicherlich könnte es mit früheren Versionen gemacht werden. – ysap

+0

Man kann es in buchstäblich jedem Debugger tun. IAR ist das erste, das ich gesehen habe, dem die Funktion fehlt. – Dummy00001

Antwort

1

Von der IAR Embedded Workbench (9,20) Hilfe:

In Fenster, wo Sie das Feld Ausdruck und im Quick Watch-Fenster bearbeiten können, können Sie die Anzahl der Elemente angeben, in die angezeigt werden Feld durch Hinzufügen eines Semikolons, gefolgt von einer Ganzzahl. Für Beispiel angezeigt werden nur die drei ersten Elemente eines Arrays namens myArray oder drei Elemente in der Reihenfolge mit dem Element ausgehend zu durch einen Zeiger gezeigt wird, schreiben:

myArray;3 

drei Elemente durch spitze anzuzeigen myPtr, myPtr+1 und myPtr+2, schreiben:

myPtr;3 

Optional ein Komma und andere ganze Zahl hinzuzufügen, die die t-Element gibt o Beginnen mit. Zum Beispiel, um Elemente anzuzeigen 10-14, schreiben:

myArray;5,10 

myPtr+10 anzuzeigen, myPtr+11, myPtr+12, myPtr+13 und myPtr+14, schreiben:

myPtr;5,10 
+0

Danke. AFAICT, das wurde nach meiner ursprünglichen Frage (2014) hinzugefügt. Ich bin froh zu sehen, dass IAR das Problem anspricht. Ich habe das Tool seit langer Zeit nicht mehr, daher kann ich deine Antwort nicht selbst überprüfen, aber da es sich um einen Auszug aus der Hilfe des Tools handelt, nehme ich an, dass es korrekt ist. – ysap

+0

Kein Problem, danke für die Annahme! – spoorcc

3

Eine Alternative wäre es im Speicher anzuzeigen. Wählen Sie Ansicht -> Speicher und geben Sie den Zeigerwert ein (mit Präfix 0x). Sie können den Datenbereich anzeigen und bearbeiten. Vielleicht nicht so "sauber" wie ein herkömmlicher Debugger-Variablen-Viewer, aber es macht den Job.

Verwandte Themen