Forum: Compiler & IDEs Variablen werden von geisterhand überschrieben


von Frank (Gast)


Lesenswert?

Hallo.
Ich hab ein relativ groses programm mit WINAVR für einem ATMega16
geschrieben. Jetzt werden plötzlich aus Variablen verändert, ohne das
die funktion dafür ausgeführt wird. Kann es sein, das WINAVR Variablen
überschneiden lässt (evtl schreib ich auch über das ende eines Buffers
.). Anders kann ich es mir nicht erklähren. Hab da einen verdacht,
welche variable es sein könnte. kann ich irgendwie feststellen, wo sich
eine globale variable im SRAM befindet / befinden wird. Gibt es da eine
möglichkeit, damit der GCC das ausspuckt ?

Gruß, Frank

von chriss chd (Gast)


Lesenswert?

kenn mich mit avr nicht gut aus also nur mal so ein verdacht:
wie sieht es mit deinem stack aus? vielleicht ist dieser zu klein bzw.
überhaupt nicht vorhanden.

von Werner B. (Gast)


Lesenswert?

Warscheinlich ein Stack Overflow!

von Frank (Gast)


Lesenswert?

An Stack overslow hab ich auch zuerst gedacht. Es lag aber an
tatsächlich an einem buffer, der über das ende hinaus beschrieben
wurde.
und die Passende stelle im code hab ich nach 2 Std gefunden. Eine liste
der Variablen funktionen hätte mir einige zeit erspart.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Was für eine Liste suchst du genau?  Vielleicht hilft dir
ja die Symboltabelle?

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.