Abandonner piège: 6 dans un Programme C
J'ai un programme en C. Il compile correctement et fonctionne fonctionne très bien mais à la fin de main()
, il se bloque et me donne une Abort trap: 6
erreur.
Je n'ai pas la moindre idée de comment je peux corriger de cette. Les quelques questions AFIN d'avoir à faire avec Abort trap: 6
erreurs n'ont pas été d'une grande aide pour moi.
En général, ce qui pourrait être le problème?
(J'hésite à poster mon code source pour l'instant puisque c'est autour de 400 lignes de code. Je voudrais poster un particulier bout de code, si je savais quoi chercher.)
Note: je suis en cours d'exécution du programme dans le Terminal à l'aide de GCC
. Mais quand je le lance dans XCode, mon programme se bloque et si je l'arrêter, elle se termine avec exit code: 9
.
C'est la sortie de lldb
:
Process 1191 stopped
* thread #1: tid = 0xa759, 0x00007fff8fa08286 libsystem_kernel.dylib`__pthread_kill + 10, queue = 'com.apple.main-thread', stop reason = signal SIGABRT
frame #0: 0x00007fff8fa08286 libsystem_kernel.dylib`__pthread_kill + 10
libsystem_kernel.dylib`__pthread_kill + 10:
-> 0x7fff8fa08286: jae 0x7fff8fa08290 ; __pthread_kill + 20
0x7fff8fa08288: movq %rax, %rdi
0x7fff8fa0828b: jmp 0x7fff8fa03c53 ; cerror_nocancel
0x7fff8fa08290: retq
Pour le compiler à l'aide de
GCC
et qu'il tourne sur OSx
.Comment êtes-vous d'exécuter le programme? À partir d'une fenêtre de Terminal, ou avec XCode?
avez-vous essayé de compiler avec -g et de l'exécuter avec gdb? Aussi, êtes-vous de faire quelque chose avec les signaux?
Essayez à l'aide de valgrind.
OriginalL'auteur aanrv | 2015-04-01
Vous devez vous connecter pour publier un commentaire.
Vous probablement l'écriture en mémoire que vous ne possédez pas! Mais vous savez que nous ne pouvons pas en dire plus sans le code, mais je vois pourquoi vous ne postez pas.
Question similaire
Je suggère la lecture de nouveau votre code super-soigneusement et regarder dehors pour votre compteur et les indices des variables nommées
i
,j
et ainsi de suite).Exit code 9
sent de traitement de signal ne va pas. Vérifier cette question.Oui @user3629249, mais c'est toujours mieux de poster le code ici, parce que le lien peut mourir.
OriginalL'auteur gsamaras