c - Ошибка сегментации в Ubuntu 18.04, но не в macOS High Sierra SDL1.2 - PullRequest
0 голосов
/ 30 апреля 2018

Я работаю над проектом и недавно столкнулся с проблемой, которую я пока не смог решить. Я надеюсь, что вы можете помочь мне. Когда я удаляю следующий фрагмент кода, программа снова работает хорошо.

int connect(void){
int x, y;
Indice i1, i2;
i1.x = indX;
i1.y = indY;
compared[cpt] = i1;
bool search = true;
int col = compare_color[i1.y][i1.x];
int count;
while (search){
    count = cpt;
    for (y=0; y < BUB_NY; y++){
        i2.y = a;
        for (x=0; x < BUB_NX; x++){
            i2.x = b;
            if (bub_array[y][x] == 1 && neighbour(i1, i2) && col == compare_color[i2.y][i2.x] && !already_compared(i2)){
                i1 = i2;
                neighbour_list[cpt] = i2;
                cpt++;                     
                compared[cpt] = i2;
            }
        }
    }
    if (count == cpt){search = false;}
}

return cpt;

Вот вывод при отладке с помощью gdb:

(gdb) run
Starting program: /home/me/Desktop/projet_methodo/projet 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7ffff259f700 (LWP 6341)]

Thread 1 "projet" received signal SIGSEGV, Segmentation fault.
0x00007ffff62428b4 in caca_free_display ()
from /usr/lib/x86_64-linux-gnu/libcaca.so.0
(gdb) backtrace
#0  0x00007ffff62428b4 in caca_free_display ()
from /usr/lib/x86_64-linux-gnu/libcaca.so.0
#1  0x00007ffff6243620 in __caca0_end ()
from /usr/lib/x86_64-linux-gnu/libcaca.so.0
#2  0x00007ffff7b902fc in ?? () from /usr/lib/x86_64-linux-gnu/libSDL-1.2.so.0
#3  0x00007ffff7b6ec1e in SDL_VideoQuit ()
from /usr/lib/x86_64-linux-gnu/libSDL-1.2.so.0
#4  0x00007ffff7b6f03f in SDL_VideoInit ()
from /usr/lib/x86_64-linux-gnu/libSDL-1.2.so.0
#5  0x00007ffff7b46e4c in SDL_InitSubSystem ()
from /usr/lib/x86_64-linux-gnu/libSDL-1.2.so.0
#6  0x00007ffff7b46ec4 in SDL_Init ()
from /usr/lib/x86_64-linux-gnu/libSDL-1.2.so.0
#7  0x00005555555557fb in main (argc=1, argv=0x7fffffffdf48) at projet.c:175
(gdb)
...