Nicht alle Fehler werden in WinAVR angezeigt

Gast #1222277
Guten Tag

Ich bin vor kurzem erst auf WinAVR umgestiegen und mache jetzt mein 
erstes Projekt mit dieser Programmierumgebung/IDE.
Also seid mir bitte nicht böse wenn ich Blödsinn mache.

Mir ist aufgefallen dass wenn ich einen Fehler (z.B. Verschreiben) nach 
dem Kompilierversuch korrigiert wird und dann nach dem erneuten 
Kompilieren wieder in den ursprünglichen Zustand zurückversetzt nicht 
mehr gemeldet wird.


Also ungefähr so:

Vor dem 1. Kompilieren:
1
unsigned char uchVal;
2

3
for(uchval = 0; uchVal < 0x05;uchVal++)/*Hier gibt's einen Fehler weil falsch geschrieben*/
4
{
5
}
Wenn man jetzt so kompilliert passt alles:
1
unsigned char uchVal;
2

3
for(uchVal = 0; uchVal < 0x05;uchVal++)/*Korrigiert*/
4
{
5
}

Und wenn man den alten Zustand wieder herstellt, wird kein Fehler 
gemeldet:
1
unsigned char uchVal;
2

3
for(uchval = 0; uchVal < 0x05;uchVal++)
4
{
5
}
Es wird ohne Fehler compiliert, als ob alles in Ordnung ist obwohl das 
Projekt zufor ordentlich bereinigt wurde.

Ist dass normal?
Gast
>Programmierumgebung/IDE.

Womit genau?
WinAVR hat an sich gar keine IDE. In PN, der dabei ist, kann man make 
aufrufen lassen. Was kompiliert wird, bestimmt dabei das makefile, 
welches du selber erstellen musst.

Oliver
Gast
Danke für eure Hilfe.

Markus hatte recht.

Ich hatte aus lauter Blödheit vergessen zu speichern.

Ich schau mir aber auch nochmal die Make-Datei etwas genauer an.
(Die richtig zu erstellen ist ja mehr Aufwand als das Eigentliche 
Programm.)
Gast
>Ich hatte aus lauter Blödheit vergessen zu speichern.

In den Konfigurationseinstellungen von PN zu den externen tools kann man 
einstellen, daß das Editor vor dem Aufruf von make automatisch 
speichert.

Oliver
Gast
Ich habe jetzt wie's aussieht den Fehler gefunden.

Aus irgend einem Grund hat ProgrammersNotepad nicht alle Daten richtig 
abgespeichert.
Wenn ich mir die Dateien mit einem Hex-Editor anschaue, sind da einige 
Ascci-Null ('\0') und andere Steuerzeichen die da normalerweise nicht 
hingehören.
Dass hat Programme wie den Windows-Editor dazu verannlast nur einen Teil 
des Quellcodes anzuzeigen.

Ich habe alle Zeichen gelöscht die nicht in den Quellcode gehören und 
schreibe jetzt einfach alles mit AVR Studio.
Bis jetzt läuft alles so wie es soll.

Danke für eure Hilfe.
Persönliche Seite
Das Problem (*) entsteht unter anderem auch deswegen, weil bereits 
kompilierte und nicht wieder veränderte .c Dateien nicht nochmaligst 
kompiliert werden (außer man macht ein make clean vorher). Es werden 
also nur geänderte .c Dateien überhaupt kompiliert und deswegen werden 
Fehler aus den anderen .c Dateien nicht angezeigt.

EDIT: *) Ein ähnliches Problem :-) Bei mehreren .c Dateien.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.