Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Re: Stack RAM Schutzverletzung bei Adresse 54297 in Thread 0 Kategorie: Programmierung C (von Joerg - 17.11.2010 9:52)
Als Antwort auf Stack RAM Schutzverletzung bei Adresse 54297 in Thread 0 von jo - 16.11.2010 21:04
Ich nutze:
C-Control Pro Mega128
> Hallo Peter,
>
> die Zeile
>
> Str_Printf(str, "%5d %5d %5d %5d %5d %5d %5d %5d %5d %5d", laufzeit_verteilung[ 0],
> laufzeit_verteilung[ 1], laufzeit_verteilung[ 2], laufzeit_verteilung[ 3], laufzeit_verteilung[ 4],
> laufzeit_verteilung[ 5], laufzeit_verteilung[ 6], laufzeit_verteilung[ 7], laufzeit_verteilung[ 8],
> laufzeit_verteilung[ 9]);
>                
>  bringt den Laufzeitfehler
>
> Interpreter gestartet - 4kb RAM                                                                                        
>                                                                                                                        
> Stack RAM Schutzverletzung  bei Adresse 54297 in Thread 0                                                              
>                                                                                                                        
> Zeit: 1230ms                                                                                                            
> Interpreter gestoppt    
>
>
> --> bedeutet es, dass kein RAM für den Stack mehr übrig ist?
> --> wo ist es sinnvoll, die Optimierung  anzusetzen?
>
> Danke und viele Grü�e
>
> Jo

Hallo Jo,

ich hatte mal Abstürze in Thread 1. Durch ausprobieren habe ich dann festgestellt (mit Thread_MemFree()),
das Str_Printf sehr viel Speicher benötigt (der komplette Formatstring + Parameter).
Ich konnte das Problem allerdings beheben, in dem ich den Speicher für den Thread erhöht habe.
Thread 0 sollte allerdings den kompletten restlichen Speicher habenâ?¦

Benutze doch mal Thread_MemFree() vor Deinem Aufruf von Str_Printf.

Grü�e Jörg


             


    Antwort schreiben


Antworten: