我有一个用C编写的程序。它可以成功编译并运行正常,但是恰好在main()
的末尾,它崩溃了,并给了我Abort trap: 6
错误。
我没有丝毫线索可以调试它。关于SO与Abort trap: 6
错误有关的几个问题对我没有太大帮助。
一般来说,可能是什么问题?
(我现在不愿意发布我的源代码,因为它大约有400行代码。如果我知道要查找的内容,那么我将发布特定的代码块。)
注意:我正在使用GCC
在Terminal中运行该程序。但是,当我在XCode中运行它时,我的程序崩溃了,如果我停止它,它就会以exit code: 9
结尾。
这是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
最佳答案
您正在可能是正在写入您不拥有的内存!但是您知道,如果没有代码,我们不能说更多,但是我明白了为什么您不发布它。
Similar question
我建议您再次仔细阅读您的代码,并注意计数器和索引(名为i
,j
的变量等)。Exit code 9
闻起来像信号处理出错。检查this问题。
关于c - 中止陷阱: 6 in C Program,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29401116/