printf отладка медленная, болезненная и дурацкая.
заполните код, полный строк трассировки, например
fprint(logfile,"%s:%d\n",__FILE__,__LINE__);
или поливатель вам нужен для вашего языка и запускайте его. после того, как вы сделали, вы можете пройти через то, что он сделал. Убедитесь, что у вас достаточно времени и места для жесткого диска. Это имеет некоторые преимущества, такие как то, что вы можете «запускать» вещи задом наперед и различать один проход с другим.