Ich arbeite derzeit an einem C++-Programm in Windows XP, das große Datenmengen verarbeitet. Unsere größte Eingabedatei führt dazu, dass das Programm unerwartet und ohne Fehlermeldung beendet wird. Interessanterweise wird die Datei ohne derartige Probleme verarbeitet, wenn das Programm von unserer IDE (Code::Blocks) aus ausgeführt wird.
Bei der Verarbeitung der Daten werden diese in eine Baumstruktur eingeordnet. Nach Abschluss der Berechnungen werden die Daten in einen C++ STL-Vektor verschoben, bevor sie zum Rendern in OpenGL gesendet werden.
Ich hatte gehofft, einen Einblick in die Ursache dieses Absturzes zu bekommen. Ich habe bereits in einem anderen Beitrag nachgeschaut, zu dem ich keinen Link posten kann, da ich ein neuer Benutzer bin. Das Problem in dem Beitrag war ganz ähnlich wie meins und resultierte aus einem Out-of-Bounds-Index zu einem Array. Ich bin mir jedoch ziemlich sicher, dass kein solcher Out-of-bounds-Fehler auftritt.
Ich frage mich, ob vielleicht die Größe des Datensatzes zu Problemen bei der Zuweisung von Speicherplatz für den Vektor führt. Die Systeme, auf denen ich das Programm getestet habe, sollten theoretisch genügend Speicher haben, um die Daten zu verarbeiten (2 GB RAM, wobei der Datensatz ca. 1 GB einnimmt). Wenn ich mich recht erinnere, verdoppeln die STL-Vektoren natürlich einfach den ihnen zugewiesenen Speicherplatz, wenn ihre Kapazität erreicht ist.
Danke, Eric