unregelmäßige Programmabstürze



  • Hallo,

    ich habe ein C Programm geschrieben, bei dem recht viel mit dynamischen Feldern gearbeitet wird. Ich benutze unter Linux den gcc Version 3.3.
    Das Programm stuerzt nach Eingaben von der Tastatur hin und wieder ab. Das komische daran ist, dass dann Variablen mit falschen Werten belegt zu sein scheinen. Wenn ich die Werte ausgeben lasse, dann scheint aber alles richtig zu sein. Zusaetlich habe ich das Phänomen beobachten können, dass das Programm stabiler läuft, wenn ich vor den üblichen Absturzstellen "asserts" ausführen lasse oder irgendwelche if-Abfragen einbaue, die das Programm verlangsamen.
    Wenn Abstuerze kommen, dann immer in den gleichen Funktionen, aber leider nicht immer. Eigenltich muesste sich ein Fehler dich reproduzieren lassen. Oder gibt es bei dynamischen Datenstrukturen gewisse Fallstricke, die nicht immer zu Abstürzen führen?

    Ich habe keinen Code gepostet, da dass bei meiner Problematik nicht so viel bringt (glaube ich).

    Hat jemand eine Erklärung dafür, wieso dass Programm bei künstlicher Verlangsamung stabiler läuft? Wäre für Hilfe sehr dankbar, da ich mit meinem Latein oder besser C am Ende bin.

    Danke, thallion.



  • Poste mal trotzdem Code. Häufig übersieht man irgendeinen Kleinkram - vor allem
    bei solchen schwer reproduzierbaren Fehlern...



  • Hmmm hört sich verdächtig nach einem Bufferoverflow an.
    Der Quellcode betroffenen Funktionen (schon mal gut, dass du es soweit einschränken konntest :)) wäre vorteilhaft ;).


Anmelden zum Antworten