Anfänger: Verzweifelte Fehlersuche... globale Struktur, Speicher?



  • Hallo zusammen,
    ich bekomme gerade Zustände, weil sich mein Programm (mittlerweile größeres Projekt) sehr merkwürdig verhält. Da ich neu in C bin, habe ich keine Idee mehr, wo ich den Fehler noch suchen soll...
    Ich habe eine Struktur global defininiert... das ist auch ok in dem Kontext (falls jetzt wehr sagen sollte, dass es nicht gut ist)...
    an einer Stelle bricht das Programm plötzlich ab. Der Compiler liefert keine Fehlermeldung, es hört einfach auf. An der Stelle an der es abbricht wird auf ein Array der Struktur zugegriffen. Durch Debugging und Testausgaben habe ich herausgefunden, dass plötzlich nicht mehr auf dieses Array zugegriffen werden kann. Egal ob lesend oder schreibend, das Programm bricht "kommentarlos" ab. Vorher habe ich sichergestellt, dass das Array korrekt mit den Werten befüllt wurde, und ich konnte bislang auch immer (auch an der gleichen Stelle bei vorhergehenden Funktionsaufrufen) auf das Array zugreifen... Ich habe nirgends free gemacht, von daher kann ich mir nicht erklären, warum sich das Programm plötzlich abbricht...
    Es wäre echt hilfreich, wenn mir jemand einen Tipp geben könnte, was der Grund dafür sein kann. Ich bin gerade echt frustriert... DANKE!



  • Mmmh, meine Kristallkugel ist grad kaputt, also kann ich dir nicht so leicht helfen.

    Bitte Poste den Code rund um die Stelle, wo das Programm abraucht, oder besser noch: ein minimales Kompilierbares Beispiel, wo der Fehler auftritt. Ausserdem poste die exakte Meldung, die dein Debugger geliefert hat.



  • Newbie001 schrieb:

    Es wäre echt hilfreich, wenn mir jemand einen Tipp geben könnte, was der Grund dafür sein kann. Ich bin gerade echt frustriert... DANKE!

    Poste den relevanten Quelltext und hoffe erneut auf einen Tipp.



  • Neulinge (leider nicht nur die) neigen dazu, mittels Arrays auf undefinierten Speicher zuzugreifen. Das bedeutet sowohl lesend wie auch schreibend undefiniertes Verhalten.
    Zur Analyse gibt es z.B. Debugger.


Anmelden zum Antworten