Forum: Mikrocontroller und Digitale Elektronik Heap Problem


von Eric (Gast)


Lesenswert?

Hallo,

arbeite gerade mit ARM-Prozessor. Habe eine Struktur A und ein Array von 
Strukturen B. Diese enthalten jeweils ein paar Zeiger auf float. B 
enthält relativ große Arrays die ich über malloc alloziere. 
Seltsamerweise benutzt beim 2 Objekt von B ein Element den 
Speicherbereich von Struktur A und überschreibt mir ein Element in 
Struktur A. Eigentlich dürfte das doch gar nicht sein. Habe die Elemente 
von Struktur A nicht gefreet.

Hat einer vielleicht einen Tip woran das liegen könnte?

Grüße,

Eric

von Dr. Sommer (Gast)


Lesenswert?

Eric schrieb:
> Eigentlich dürfte das doch gar nicht sein.
Klar kann das, wenn die Pointer-Ziele überlappen. Schau dir mal im 
Debugger die Pointer an, auch nach der malloc()-Allokation. Wenn der 
Pointer beim Zugriff nicht mehr auf das zeigt, wie das auf das er 
ursprünglich (nach dem malloc) zeigte, verwende einen Watchpoint um 
herauszufinden wann er verändert wird.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Du hast einen amoklaufenden Pointer. Dazu zählt z.B. auch ein Index, der 
über das letzte Arrayelement hinausgeht...

von Eric (Gast)


Lesenswert?

Hallo,

ja danke erstmal. An Indexproblem habe ich auch schon gedacht. Aber bis 
jetzt nichts gefunden. Ich werde nochmal ausgiebig suchen.

Gruß

von Eric (Gast)


Lesenswert?

Hallo,

hab mein Fehler gefunden. Es wurde versehentlich ein Pointer ins EPPROM 
geschrieben, den ich dann später wieder ausgelesen hab, Trotzdem danke.

Grüße

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.