我一直在我的程序中出现分段错误,但没有生成核心转储文件。 ulimit显示的值是无限的,确实没有ulimit -c的限制,看起来没有问题。有任何想法吗?分段错误,没有核心转储
回答
这可能有几个原因
- 到目录
- 程序改变工作目录
寻找其他地方的核心没有写访问过 - 磁盘已满
- 的ulimit被设置在一个外壳中并且程序在不同的外壳或环境中启动
+程序是一个守护进程,但OP会为其当前shell会话更改ulimit设置。 – Slava 2013-03-07 13:57:47
@Slava谢谢,补充说。 – 2013-03-07 14:34:46
要解决的shell会话问题,提供你不反对被根测试:特别是你在内存访问错误的地址发生
#ifdef DEBUG
// Enable core dumps
struct rlimit corelim;
corelim.rlim_cur = -1;
corelim.rlim_max = -1;
if (setrlimit (RLIMIT_CORE, &corelim) != 0)
{
log_error ("Couldn't set core limit");
}
#endif
分段错误。资源不正确的初始化是非常可能的。例如,您可以使用Valgrind进行调试。
这是如何解决没有产生核心转储的问题? – us2012 2013-03-07 14:45:13
分配内存的问题不是语法错误。 – user1929959 2013-03-07 14:53:37
如果你的程序以root身份运行(或具有root功能)检查:
cat /proc/sys/fs/suid_dumpable
,或者如果程序是一个守护进程检查:
getsebool allow_daemons_dump_core
- 1. 段错误 - 核心转储
- 2. Genymotion:分段错误(核心转储)genymotion
- 3. qt app.exec()分段错误核心转储
- 4. 分段错误(核心转储)
- 5. 分段错误(核心转储)C
- 6. 分段错误(转储核心)
- 7. quickSort分段错误(核心转储)
- 8. C - 分段错误(核心转储)
- 9. 分段错误(核心转储)
- 10. C++的核心转储分段错误
- 11. 分段错误(核心转储)
- 12. scipy.interp2d [分段错误(核心转储)]
- 13. 保持分段错误(核心转储)
- 14. 分段错误(故障核心转储)
- 15. 分段错误(核心转储)C++
- 16. 核心转储和分段错误
- 17. g ++:分段错误(核心转储)
- 18. 分段错误(核心转储)链表
- 19. 分段错误(核心转储)后果
- 20. 分段错误(核心转储)
- 21. PyQt5分段错误(核心转储)
- 22. 核心转储文件没有生成分段错误
- 23. 错误段错误(核心转储)
- 24. 分割错误(核心转储)错误
- 25. 分段错误(核心转储)。没有编译错误。搜索论坛
- 26. C++链表实现分段错误(核心转储)错误
- 27. 链接列表错误“分段错误”核心转储
- 28. 分段错误(核心转储)代码显示此错误
- 29. 分段错误(核心转储)错误与快速排序
- 30. Sinatra App中的分段错误(核心转储)错误
Mayby首先我们看一些代码? – Blood 2013-03-07 13:47:45
这很可能是一个空指针或访问数组之外。 – QuentinUK 2013-03-07 13:48:22
在调试器中运行该程序,以便在故障发生时您会中断。 – unwind 2013-03-07 13:48:40