IAR debug: Anzeige von n Werten von einem Pointer

OP #4804991
Hi
sagen wir ich habe einen Pointer mit
int16_t MyArray[100];
int16_t * MyPointer &= MyArray[100];
wie kann ich in Watch window (variable watch window nicht memory) von 
Iar die nächsten 10 Werte anzeigen lassen?
Das geht beides nicht
MyPointer[1:10]
MyPointer[0],10

Weiss wer bescheid?
Persönliche Seite
Kaj schrieb:
> Lies doch bitte erstmal ein C-Buch.

Der oft gutgemeinte Ratschlag ist hier völlig verfehlt. Hier geht es 
nicht um das Programmieren in C, sondern um das /Bedienen eines 
Debuggers/.

1
In windows where you can edit the Expression field, you can specify 
2
the number of elements to be displayed in the field by adding a 
3
semicolon followed by an integer. 
4
For example, to display only the three first elements of an array 
5
named myArray, or three elements in sequence starting with the 
6
element pointed to by a pointer, write:
7

8
myArray;3
9

10
Optionally, add a comma and another integer that specifies which 
11
element to start with. For example, to display elements 10–14, write:
12

13
myArray;5,10
(Quelle: 
http://supp.iar.com/FilesPublic/UPDINFO/007040/arm/doc/EWARM_DebuggingGuide.ENU.pdf, 
Seite 69)
Gast
Rufus Τ. F. schrieb:
> Hier geht es
> nicht um das Programmieren in C, sondern um das /Bedienen eines
> Debuggers/.
Bevor ich mir aber Code im Debugger angucken kann, sollte ich mir 
erstmal darueber im klaren sein, was der Code ueberhaupt macht. Und wenn 
ich mir diesen Code anschaue:
1
int16_t MyArray[100];
2
int16_t * MyPointer &= MyArray[100];
Bevor ich was debuggen kann, brauch ich was, das auch nur im 
entferntesten funktioniert. Und das ist bei diesem Code im leben nicht 
der Fall...
Das compiliert bei mir nicht mal (GCC 6.2.1)
1
expected »=«, »,«, »;«, »asm« or »__attribute__« before »&=« token
2
     int16_t * MyPointer &= MyArray[100];
Wuerde mich schwer wundern, wenn der IAR-Compiler das einfach so frisst.

Der Hinweis, dass es hier um die Bedienung eines Debuggers geht ist ja 
nett, aber das Problem des TO ist ein ganz anderes...

Selbst wenn das &= in dem Codeschnippsel auch nur im entferntesten das 
richtige tun wuerde, waere das Ergebnis (vermutlich) noch immer 
nicht das gewuenschte.
Mir faellt zumindestens spontan kein Grund ein, warum man einen Pointer 
auf ein Element hinter das Array setzen sollte um sich dann da n 
Elementen anschauen zu wollen... aber okay, jeder wie er mag.
(Firma: Torrox.de)
Kaj schrieb:
> Selbst wenn das &= in dem Codeschnippsel auch nur im entferntesten das
> richtige tun wuerde, waere das Ergebnis (vermutlich) noch immer
> nicht das gewünschte.


Meine Güte, stell dich doch nicht so blöd an! Der OT hat da einen 
Vertipper gemacht. Er hat eine Frage zu seinem Debugger und zum 
Verständnis zwei Zeilen Code gepostet (ja, in dem zwei Zeichen 
vertauscht sind!!!).

> Mir faellt zumindestens spontan kein Grund ein, warum man einen Pointer
> auf ein Element hinter das Array setzen sollte um sich dann da n
> Elementen anschauen zu wollen... aber okay, jeder wie er mag.

Ein Zeiger auf das erste und eine Zeiger hinter das letzte Element eines 
Bereichs ist eine durchaus übliche Notation für Bereiche (halb offenes 
Interval). Und wenn der Bereich sehr groß ist und man sich in dem Moment 
nur für das Ende interessiert, dann guckt man halt von hinten drauf.

Hier noch die Lösung für den GDB ;-)
1
p/x *(MyPointer-10)@10

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.