backtrace par SIGSEGV

Je débogue une application en écrivant dans ansi C, un programme multi-threads.
Parfois, dans le thread principal provoquer une erreur SIGSEGV.

(gdb) backtrace full #0 0x0000000000000000 in ?? () No symbol table info available. #1 0x0000000000000000 in ?? () No symbol table info available. (gdb) info registers rax 0x1 1 rbx 0x0 0 rcx 0x0 0 rdx 0x2 2 rsi 0x458e7aa0 1166965408 rdi 0x0 0 rbp 0x0 0x0 rsp 0x458e7b60 0x458e7b60 r8 0x458e7b20 1166965536 r9 0x0 0 r10 0x0 0 r11 0x206 518 r12 0x2aaaac400e70 46912522686064 r13 0x2aaaac514090 46912523813008 r14 0x1 1 r15 0x18505f10 407920400 rip 0x0 0 eflags 0x10206 [ PF IF RF ] cs 0x33 51 ss 0x2b 43 ds 0x0 0 es 0x0 0 fs 0x63 99 gs 0x0 0 fctrl 0x37f 895 fstat 0x0 0 ftag 0xffff 65535 fiseg 0x0 0 fioff 0x0 0 foseg 0x0 0 fooff 0x0 0 fop 0x0 0 mxcsr 0x1f80 [ IM DM ZM OM UM PM ] (gdb) 

Cette information provient du fichier core, je ne suis pas très familier avec le débogage dans un environnement Linux, est-ce que je peux faire quelque chose pour trouver le problème?

Edit : tous les fichiers source sont compilés avec l’indicateur suivant

 gcc -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/redisconnector.d" -MT"src/redisconnector.d" -o"src/redisconnector.o" "../src/redisconnector.c" 

    Recomstackz l’application avec l’option “-g”;

    Utilisez Gdb non pas avec des fichiers core, mais pour exécuter une application entière:

     gdb --args ./application application_options 

    puis “exécuter” la commande de gdb.

    En cours d’exécution à partir de gdb, SIGSEGV sera détecté et gdb sera focalisé sur les threads défaillants.

    Votre RIP pointe vers 0. Cela est probablement dû à un débordement de stack. Votre RBP est également 0, donc la commande gdb backtrace ne vous dira rien.

    Eh bien, vous devez d’abord comstackr avec le débogage activé pour que votre trace soit utilisable. Le drapeau est gcc -g