Hallo Welt,
vollkommen nüchtern habe ich folgendes Problem:
GCC unter Code::Blocks- Getestet unter win7 und Ubuntu 12.04
folgenden Trivialcode:
int i;
int main(void) {
char *ptr;
int j,k=10;
for( i=0; i == k; i++)
{
j = i;
printf(" j ist : %d\n" , j);
}
}
Die For-Schleife wird einfach ignoriert beim Debuggen ????
Da gibt es doch aber keinen Grund für so etwas - oder?
Da ist mir bei IAR oder CCS noch nie passiert.
Ich habe wirklich nichts getrunken!
Schönen Sonntag!
Dietmar
DS aus W schrieb: > Die For-Schleife wird einfach ignoriert beim Debuggen ???? > Da gibt es doch aber keinen Grund für so etwas - oder? Klar wird die wegoptimiert. Die Schleife wird genau 0 mal durchlaufen, also kann man sie auch gleich ganz weg lassen.
DS aus W schrieb: > for( i=0; i == k; i++) Mit k= 10 wird die Schleife nie ausgeführt und zu Recht vom Compiler ignoriert. Schau dir deine Schleifenbedingung an.
Oh neeee- 'tschuldigung auch. Auf dem Linux-Rechner habe ich die Bedingung korrigiert und auf dem win-Rechner vergessen. Besten Dank trotzdem!
hihi, doch was getrunken ;-) ... außerdem Platz verschwendet: char *ptr;
DS aus W schrieb: > Auf dem Linux-Rechner habe ich die Bedingung korrigiert > und auf dem win-Rechner vergessen. und was lernt man daraus? entweder svn, git o.ä. benutzen oder zumindest über einen smb-mount o.ä. die gleiche codebasis bearbeiten ;-)
Hi, der Beitrag ist zwar schon älter, passt aber dennoch hier rein (vlt weil ich auch getrunken hab :P) Nutze AVR Studio 4.19 mit AVR toolchain 3.4.2. Leider stürzt AVR komplett ab, wenn ich versuche zu debuggen während eine for-Schleife im Code ist. "AVRStudio MFC Application hat ein Problem festgestellt und muss beendet werden."
1 | for(uint8_t j=0; j++; j<3) |
2 | {
|
3 | outputs = 0; |
4 | }
|
Das selbe passiert bei manchen while-Schleifen; andere werden aber ausgeführt... Bin ich doof? oder der Compiler? oder AVR? Hilfe wäre wirklich nett...
Naja, der Code ist ziemlich Sinnfrei und würde ich auch wegstreichen. Grüsse, René
das ist absichtlich sinnfrei. ich habe es soweit reduziert um sicher zu sein, dass es nicht am Inhalt der Schleife liegt. trotzdem crasht AVR an dem Code-Schnipsel... und die for-Schleife ist direkt im main-programm
1 | for (initialization; condition; increment-decrement) |
2 | {
|
3 | // Statements.
|
4 | }
|
hast du natürlich vollkommen recht... geht trotzdem nicht selbst bei einer
1 | while(1) |
2 | {}
|
crashed AVR. kanns sein dass irgendwas nicht richtig installiert oder ins Projekt eingebunden ist? es kommt ja auch kein Fehler beim Compilieren oder sowas sondern wirklich nen Programm Absturz
Schade hast du dir kein Beispiel genommen am OT - der wusste, wie man "Problemsource" postet - naemlich komplett.
Stefan schrieb: > trotzdem crasht AVR Nein, es crasht nicht "AVR", sondern dein AVR Studio. Das hat mit dem Thema des Threads überhaupt nichts zu tun. Da außerdem Atmel die von dir benutzte Version von AVR Studio nicht weiter unterstützt, wirst du dafür auch keinerlei Support mehr bekommen.
ja ok ich helfe mir selbst... "Da außerdem Atmel die von dir benutzte Version von AVR Studio nicht weiter unterstützt, wirst du dafür auch keinerlei Support mehr bekommen." deshalb frage ich ja auch hier an
Stefan schrieb: > deshalb frage ich ja auch hier an Nö. Du kaperst einen themenfremden Thread und gibst völlig unzureichende Informationen.
Stefan schrieb: > deshalb frage ich ja auch hier an Wenn dein Atmel Studio abstürzt, wird dir wohl keiner aus dem Forum das Studio reparieren können. Ansonsten kannst du bitte im Forum "PC Hard- und Software" einen passenden Thread mit ausreichenden Informationen eröffnen, denn Atmel Studio ist "PC-Software". Am besten ein komplettes Projekt mitposten, welches den Fehler reproduziert.