Прервать ловушку 6 для работы c программы на Mac

Итак, я написал эту программу (исходный код: http://pastebin.com/kb3QedMw), которая по сути представляет собой конечный автомат. (реализовано в c), который читает файл журнала, а затем вычисляет некоторые средние значения. Он работает гладко, и вывод правильный, насколько я могу судить. Но, если скомпилировать на Mac с помощью clang 3.3, я получаю сообщение «Abort Trap 6» в самом конце программы (как раз перед возвратом 0 или после него, насколько я могу судить). На Linux-машине с clang 3.4 вроде все нормально. Это снова какая-то странность Mac? Я прочитал здесь (GNU Make Abort trap: 6 после вызова gcc, однако вызов действителен при выполнении в одиночку), что он указывает на сигнал SIGABRT, но я не могу представить, откуда он должен исходить. Есть идеи, в чем причина? Я боюсь ошибки, которую я еще не нашел, которая может испортить мои результаты.


person mithodin    schedule 28.07.2014    source источник
comment
comment
Запустите отладчик, он остановится на ловушке, и вы сможете увидеть стек вызовов функций, чтобы увидеть, как он попал в ловушку. Затем вы сможете подняться по стеку к своей функции и отладить свой код, если таковой имеется.   -  person Some programmer dude    schedule 28.07.2014
comment
Не имеет отношения к вашей текущей проблеме, но может избавить вас от головной боли: Используйте выражения в макросах: #define NUM_BINS (HEIGHT/BINHEIGHT). А переменные с файловой областью и статические переменные автоматически инициализируются 0/0.0/0-указателем (конечно, это не ошибка делать это явно, но иногда вы инициализируете явно, иногда нет).   -  person mafso    schedule 28.07.2014
comment
@mafso Спасибо за советы. Я думал, что% lf для двойного. Так говорит Википедия, как и другие сайты.   -  person mithodin    schedule 28.07.2014
comment
@JoachimPileborg, мне приходится ждать, пока мой системный администратор вернется из отпуска, потому что конфигурация наших систем дерьмовая, и мне нужен пароль администратора для запуска отладчика :-(   -  person mithodin    schedule 28.07.2014
comment
Можете ли вы опубликовать небольшой фрагмент файла журнала, который вызывает сбой (фрагмент достаточно большой, чтобы вызвать сбой) - вероятно, на Pastebin.   -  person Jonathan Leffler    schedule 23.12.2014