Eure dümmsten Fehler bei der Programmierung



  • Original erstellt von HumeSikkins:
    **Hallo,
    immer prüfen welche Dateien man gerade bearbeitet. Ich habe mal mehrere Stunden nach einem Fehler gesucht, bis ich endlich feststellte, dass ich an meinen lokalen Dateien Änderungen vornahm, aber eine andere Version auf unserem Server testete 🙂

    [ Dieser Beitrag wurde am 17.11.2002 um 19:49 Uhr von [qb]HumeSikkins** editiert. ][/QB]

    Das ist mir auch schon öfter passiert, aber spätestens als ich dann explicit eine Ausgabe gemacht habe, die kommen MUSSTE, aber nicht kam, ist mir aufgefallen, dass ich mit den falschen Dateien arbeite...



  • immer schön auf die for-schleife achten!
    Ich hab immer gedacht, dass bei einer for-schleife das zweite "Argument" der Endzustand sein soll und nicht die Bedingung während die Schleife läuft!



  • Seeehr beliebt ist auch:

    if( iVal = 10).... höhö

    oder aber eine Variable zuweisen, man debugt, der richtige Wert steht drinne, aber aus irgendwelchen Gründen arbeitet man an der entscheidenden Stelle im Programm mit einer ganz anderen, da sie rein zufällig so ähnlich hieß...



  • Ich baue gerne mal nen geilen Stack-Overflow.

    void func() {
       func();
    }
    

    natürlich nicht so offentlichsichtlich und deshalb hab ich da schon ne nacht für verbracht 🕶



  • was mir zur Zeit den Schlaf raubt ist irgend etwas, was den Heap zerstört, weiss aber nicht genau wo und durch die Zerstörung des Heaps hilft mir der Debugger wenig 😞 BTW. suche leute die mir beim Debuggen helfen 😉

    Ansonten sind beliebte Fehler Variablen nicht zu initalisieren, zum Glück warnt der GCC davor, wenn man die anschließend benutzt

    [ Dieser Beitrag wurde am 17.11.2002 um 20:43 Uhr von kingruedi editiert. ]



  • Original erstellt von kingruedi:
    Ansonten sind beliebte Fehler Variablen nicht zu initalisieren, zum Glück warnt der GCC davor, wenn man die anschließend benutzt

    Das sollte jeder halbwegs gute Compiler tun.



  • Mein letzter Fehler bei dem ich blöd dreingeschaut habe war:

    template<...>
    class Ref
    {
    ...
    void readFrom(istream& stream)
    {
      stream>>var;
    }
    };
    
    istream operator>>(istream& stream, const Ref<...>& ref)
    {
      ref.readFrom(stream);
      return stream;
    }
    

    Allerdings waren da eine handvoll Templates im Spiel und ich hab mindestens 5minuten lang blöd geschaut weil er gemeint hat readFrom() gibts nicht...
    🙄



  • Ooch...da gibt es so einiges...

    • Nicht initialiserte Objekte benutzen
    • while(true){....} ohne break;
    • Und so weiter, und so weiter...


  • Mein schönster bis jetzt war, als ich mit jemandem zusammen etwas programmiert habe. Ich habe konsequent mit x/y gearbeitet, er mit zeile, spalte

    Hat auch so weit alles geklappt, war ja so abgesprochen. Nur im Konstruktor hab ich seinem Objekt Breite, Höhe übergeben, es wollte aber Höhe/Breite...

    Da wo die Komponenten einzeln gearbeitet haben war's egal, nur im Zusammenspiel waren Zeilen plötzlich Spalten und umgekehrt...



  • Dieser Fehler hat mich 2 Tage in den Wahnsinn getrieben. Als ich ihn dann endlich gefunden hatte hab ich ernsthaft daran gezweifelt ob ich überhaupt programmieren kann 😃 🙄

    for (int x = 0; x < 12345; x++);
    {
      bla bla bla
    }
    


  • for (i = 0; i = 12; i++) ...

    for (i = 1; i < 11; i++);
    printf("%d",i);

    ...

    cYa
    DjR



  • Original erstellt von Cpp_Junky:
    **Dieser Fehler hat mich 2 Tage in den Wahnsinn getrieben. Als ich ihn dann endlich gefunden hatte hab ich ernsthaft daran gezweifelt ob ich überhaupt programmieren kann 😃 🙄

    for (int x = 0; x < 12345; x++);
    {
      bla bla bla
    }
    

    **

    So was passiert mir auch häufig ... wundere mich dann warum der Code nicht wiederholt wird 🙂



  • for (int x = 0; x < 12345; x++);
    {
      bla bla bla
    }
    

    Genau das ist mein lieblingsfehler. Inzwischen finde ich ihn aber recht schnell.



  • Ich mache nie Fehler! 😃 😃 😃

    Spass beiseite:
    Ich hab mit PostMessage einen lokalen String weggeschickt - und mich dann über die komischen Zeichen gewundert...

    [ Dieser Beitrag wurde am 18.11.2002 um 11:27 Uhr von Nemesyzz editiert. ]



  • Die Fehler

    for (int x = 0; x < 12345; x++);
    

    und

    if (i=0)
    

    kenn ich auch. Um die zu vermeiden hab ich mir bei ersterem angewöhnt die { nach oben zu ziehen. Also

    for (int i = 0;i < 12345; i++){
    

    Ist zwar eine Umstellung, hat aber bei mir gut funktioniert.
    Der zweite Fehler wird (meist) durch den Compiler gefunden. Falls aber der Warning-Level reduziert werden muss, schreib ich immer

    if (0==i)
    

    statt

    if (i == 0)
    

    dann gibts einen echten Fehler wenn = statt == geschrieben wird, den jeder Compiler immer moniert.

    Meine schlimmsten Fehler stammen aus meine C-Zeiten:
    Über Feldgrenzen rausschreiben. Meist verhält sich die Release-Version schon mal anders als die Debug-Version und für Fehlersuche kann leicht mal einen Tag in Anspruch nehmen.

    [ Dieser Beitrag wurde am 18.11.2002 um 11:36 Uhr von Kauz01 editiert. ]



  • Bei Header-Dateien

    #ifndef _BLA_H
    #define _BLA_H
    .
    .
    .
    #endif
    

    vergessen. Das gibt einen schön ekelhaften Fehler wenn man die .h Datei ohne sowas sowohl im Submodul als auch im Hauptmodul included. Meine Tastatur hat
    sehr darunter gelitten ("verdammte Scheisse, warum denn? (bumm,bumm ... knirsch). 😃



  • vergisst _nieeeeeeee_ das H

    ich hab mal anstat int 21h nur int 21 gehabt, das war meine 100% assembler 3d-engine und dieses int21 hab ich nur für die debug ausgabe gehabt, ich hab jeden polygonfüll algorithmuss 1000mal durchgesehen, alle rekursionen perfekt mit output versehen und bei zu großer tiefe abgebrochen, alles durchgesehen, außer beim int 21 für die fps das H... hab ne ganze woche dran gehangen, ich war soweit, dss mein pc innerhalb von 14sekunden beim booten in die dev umgebung meines masm rein kamm (weil es immer einen absturz gab).. ich hab bestimmt die hälfte meiner haare daran verloren...

    rapso->greets();



  • for (int x = 0; x < 12345; x++);
    {
      bla bla bla
    }
    

    Das kommt davon wenn man die Klammern in die nächste Zeile schreibt. 🙄
    Macht's doch lieber so

    for (int x = 0; x < 12345; x++) {
        bla bla bla
    }
    


  • Mein Bruder hat mal nen geilen Fehler gemacht:

    #ifdef _BLA_H
    #define _BLA_H
    .
    .
    .
    #endif
    

    und sich dann gewundert, wiesos die klasse net gab 😃



  • _BLA_H

    ist eh ein Fehler, da führende _ dem Compiler vorbehalten sind :p 🙄 🙂

    beliebt sind auch falsche benutzung von memcpy, strcpy und ähnliches und vorallem der schlimmste Fehler ist eine Anwendung, die zum Teil aus Code besteht, der bei der letzten Konzept Änderung nicht überarbeitet wurde, trotzdem bisher funktioniert nur dann auf einmal bockt der rum und man sucht tagelang woanders 🙂


Anmelden zum Antworten