Bug in Beta 1.99? Kategorie: IDE (von Rainer - 22.01.2009 23:08) | ||
| ||
Hallo, ich habe heute die IDE 1.99 mit meiner Applikation getestet. Bis auf eine Kleinigkeit scheint Sie gut zu laufen. Ich habe den Fehler in den folgenden Zeilen isoliert: Das Programm sollte eigentlich immer nur 0 ausgeben. Das tut es auch für die ersten Sekunden, doch dann bringt der andere Task durch den Befehl log(0) (ich weiss, geht eigentlich nicht) alles so durcheinander, dass die Variable Konstante plötzlich einen anderen Wert hat. Das Problem tritt aber nicht auf, wenn die Zeile Str_WriteFloat(P,1,Txt,pos); entfernt wird. Sieht mir sehr nach einem Buffer Overflow aus. Parameter von Thread1: Stack=256 Zyklus=5000 ################################################## word Konstante; char Txt[20]; void main(void) { Konstante = 0; Thread_Start(1,Task); while(1) { Thread_Delay(10); Msg_WriteInt(Konstante); Msg_WriteChar(0x0D); } } void Task(void) { float P ; P = 0; while (1) { Thread_Delay(10); int pos; pos = 12-log(P); Str_WriteFloat(P,1,Txt,pos); } } ############################################ Gruss Rainer | ||
Antwort schreiben Antworten: |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum