Segmentation Fault при запуске программы

Segmentation Fault при запуске программы

21.12.2015 04:58:19 Просмотров 33 Источник

Пытаюсь выполнить C++ код на своей Debian-машине. Использую GCC-компилятор. Он мой код компилирует без ошибок и предупреждений, но в момент запуска я получаю ошибку Segmentation fault. Погуглил эту проблему, и нашёл кое-что. Предлагают выполнить дебаг программы через GDB. Что я сделал:

gcc /путь_к_программе -g
gdb ./a.out
run
backtrace

В итоге дебаггер указал мне, что ошибка вот в этом участке кода:

while(fgets(strLine, 256, list_fd) != NULL)
    {
            ParseResolverLine(strLine, iLine);
            iLine++;
    }

Выдача самого дебаггера:

#0  _IO_fgets (buf=0x607010 "", n=256, fp=0x0) at iofgets.c:50
#1  0x000000000040185f in main (argc=6, argv=0x7fffffffec68)

Собственно, не понимаю, где именно в указанном мною участке кода проявляется сегментация памяти.

У вопроса есть решение - Посмотреть?

Ответы - Segmentation Fault при запуске программы / Segmentation Fault при запуске программы

Является ответом!
Monah Tuk

21.12.2015 07:00:19

У вас list_fd равен NULL (fp=0x0 в отладчике). Проверьте, что файл открылся, если что-то не получается fopen() возвращает NULL.

Закрыть X