【问题标题】:Abort trap: 6 in C Program中止陷阱:C 程序中的 6 个
【发布时间】: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

标签: c macos gcc crash abort


【解决方案1】:

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

Similar question

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


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

【讨论】:

  • 还有其他网页可以发布大代码,然后在此处放置代码链接。
  • 是的@user3629249,但最好在这里发布代码,因为链接可能会失效。
猜你喜欢
  • 2015-09-02
  • 2014-12-13
  • 2017-05-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多