Bonjour a tous,
Actuellement stagiaire au sein d'une entreprise de sécurité informatique, je dois développer une bibliothèque partagée sous Linux et la charger dynamiquement lors de l'exécution de mon main.
Jusque là tout va bien jusqu'à obtenir le message d'erreur que tout le monde adore "Segmentation fault".
Donc je lance gdb ... qui me dit
Voila si quelqu'un à la moindre d'idée d'où peut provenir cette erreur et qu'il m'en fait part je lui en serais reconnaissant !Code:Program received signal SIGSEGV, Segmentation fault. 0xb7fc5cc6 in pthread_create@@GLIBC_2.1 () from /lib/libpthread.so.0 (gdb) where #0 0xb7fc5cc6 in pthread_create@@GLIBC_2.1 () from /lib/libpthread.so.0 #1 0xb7fc62f8 in pthread_create@GLIBC_2.0 () from /lib/libpthread.so.0 #2 0xb7fdcc31 in Start (Path=0xbffff424 "./", ServerName=0xbffff3f2 "MTLSServerTest") at libmtlsc4linux.c:251 #3 0x08073871 in main (nArgs=5, Args=Cannot access memory at address 0x4 ) at mtls_client4linux.c:172 Pour vous aider voici les proto en question rc = pthread_create(pSession->hThread, NULL, Client_Thread, (void *) &pSession); if(!rc) { printf("ERROR: return code from pthread_create() is %d\n", rc); return !0 ; } typedef struct { char * ServerName; char * ClientName; pthread_t* hThread; } void* Client_Thread(void *lpParameter)
Merci à tous et bonne fin de journée
P.S : j'oubliais de préciser que bien entendu lors de la compilation de mon prog j'ajoute le fameux "-lpthread" histoire d'éviter à certains une perte de temps![]()
-----