中止陷阱:C 程序中的 6

Abort trap: 6 in C Program

我有一个 C 语言的程序。它编译成功并且 运行s 工作正常但就在 main() 结束时,它崩溃并给我一个 Abort trap: 6 错误。

我对如何调试它一无所知。关于 SO 与 Abort trap: 6 错误有关的几个问题对我没有太大帮助。

一般来说,可能是什么问题?

(我暂时不愿意 post 我的源代码,因为它大约有 400 行代码。如果我知道要查找什么,我会 post 一段特定的代码。)

注意:我正在 运行 使用 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 

可能正在写入不属于您的内存!但是你知道我们不能在没有代码的情况下说更多,但我明白你为什么不 post 它。

Similar question

我建议您再次仔细阅读您的代码并留意您的计数器和索引(名为 ij 等的变量)。


Exit code 9 闻起来像是信号处理出错了。检查 this 个问题。