Na pierwszy rzut oka jest wszystko OK.
Dlatego musisz zaprzyjaźnić się z kilkoma programami i parametrami:
* -ggdb - dodanie tego parametru do kompilacji umieszcza w pliku wynikowym szczegółowe dane do debuggowania
* valgrind - program umożliwiający szukanie problemów z pamięcią (podwójne zwolnienie, brak zwolnienia, pisanie poza obszarem zaalokowanym, itp)
* gdb - debugger, umożliwia uruchamianie i zatrzymywanie programu, grzebanie żywemu programowi w głowie i sekcję zwłok po padnięciu. GDM jest tekstowy, istnieje kilka nakładek graficznych na niego, w tym ddd, kdbg plus każde właściwie środowisko zintegrowane ma interfejs do gdb.
Puściłem program dla 2 ostatnich iteracji (290000 i 300000) i nie było problemów.