Сначала убедитесь, что вы используете ту же версию в eclipse, что и в выпуске командной строки, против отладки.
Некоторые ошибки будут меняться из-за различных настроек компилятора или просто из-за отладки.Они часто вызваны неинициализированными данными.Инструменты отладчика памяти, такие как valgrind, могут помочь вам найти такие проблемы, поскольку они могут рандомизировать содержимое неинициализированных данных.
Также убедитесь, что все предупреждения включены в настройках компиляции.Затем компилятор предупредит вас о потенциально неправильных вещах.
Редактировать: Да -Wall и -pedantic хороши для получения всех предупреждений.
Иногда с трудными для поиска ошибками памяти ошибка фактически не там, где происходит ошибка.Segfault происходит только из-за более ранних ошибок, которые остались незамеченными.Лучше всего использовать отладчик памяти, такой как valgrind.В противном случае вам придется внимательно изучить код.