【发布时间】:2015-06-06 17:01:39
【问题描述】:
我有一个 C 程序。它编译成功并且运行良好,但在 main() 结束时,它崩溃并给我一个 Abort trap: 6 错误。
我对如何调试它一无所知。关于 SO 与 Abort trap: 6 错误有关的几个问题对我没有多大帮助。
一般来说,可能是什么问题?
(我现在不愿意发布我的源代码,因为它大约有 400 行代码。如果我知道要查找什么,我会发布一段特定的代码。)
注意:我在终端中使用GCC 运行程序。但是当我在 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
【问题讨论】:
-
你是如何运行程序的?这看起来不像是普通的 Unix shell 错误消息。
-
@Barmar 使用
GCC编译它并在OSx上运行它。 -
你是如何运行程序的?从终端窗口,还是使用 XCode?span>
-
你试过用-g编译并用gdb运行吗?还;你在处理信号吗?
-
尝试使用 valgrind。